{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "# Recurrent Neural Networks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Univariate Time Series Regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "This notebook demonstrates how to forecast the S&P 500 index using a Recurrent Neural Network."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Imports & Settings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:57.949725Z",
     "start_time": "2020-06-22T00:28:57.945864Z"
    }
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.456463Z",
     "start_time": "2020-06-22T00:28:57.952170Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "from pathlib import Path\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import pandas_datareader.data as web\n",
    "from scipy.stats import spearmanr\n",
    "\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "import tensorflow as tf\n",
    "from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping\n",
    "from tensorflow.keras.models import Sequential\n",
    "from tensorflow.keras.layers import Dense, LSTM\n",
    "from tensorflow import keras\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.484771Z",
     "start_time": "2020-06-22T00:28:59.457669Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using GPU\n"
     ]
    }
   ],
   "source": [
    "gpu_devices = tf.config.experimental.list_physical_devices('GPU')\n",
    "if gpu_devices:\n",
    "    print('Using GPU')\n",
    "    tf.config.experimental.set_memory_growth(gpu_devices[0], True)\n",
    "else:\n",
    "    print('Using CPU')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.501661Z",
     "start_time": "2020-06-22T00:28:59.486012Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "sns.set_style('whitegrid')\n",
    "np.random.seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.509800Z",
     "start_time": "2020-06-22T00:28:59.502837Z"
    }
   },
   "outputs": [],
   "source": [
    "results_path = Path('results', 'univariate_time_series')\n",
    "if not results_path.exists():\n",
    "    results_path.mkdir(parents=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Get Data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "We obtain data for 2010-2018 from the Federal Reserve Bank’s Data Service [FRED](https://fred.stlouisfed.org/) using the [pandas_datareader](https://pandas-datareader.readthedocs.io/) library in introduced in [Chapter 2 on Market and Fundamental Data](../02_market_and_fundamental_data)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.857059Z",
     "start_time": "2020-06-22T00:28:59.510988Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAADwCAYAAAAjHar4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd2BUVdrH8e9Meg8hpBFCDz2UIF0gCoKAoqK44LK7Ku7Koq76irAIumuFta4F67q2VURxFUFRYZEuSm8JLYSanpAySWaSzLx/TDLJGAgDBFL4ff5h7rnn3nvuQck8Oec8x2Cz2WyIiIiIiIg0Ecb6boCIiIiIiEhdUpAjIiIiIiJNioIcERERERFpUhTkiIiIiIhIk6IgR0REREREmhQFOSIiIiIi0qS413cDRESk6di+fTvPP/88p06dwmazERERwcyZM+nYsSMAZrOZhx9+mOTkZDw8PJg3bx6xsbEAHD9+nJEjRzqOAWw2G7/73e+4+eabazxr3rx5LF++nKCgIADatm3LSy+9RHl5OfPmzWPt2rWUl5dzxx13MGnSJABSUlJ45JFHyM3NxdfXl/nz59O+ffuL3S0iInKJKcgREZE6YbFY+NOf/sS7775Lt27dAPjqq6+46667WLlyJW5ubixdupTCwkK+/vpr3njjDd566y2ee+45xz28vb356quvHMfp6emMGzeO7t2707lzZ6fnbdu2jRdeeIE+ffo4lS9cuJCUlBSWLl2KyWTi1ltvpVu3bsTFxfHQQw/x+9//nuuuu47Vq1fzl7/8ha+//hqDwXARe0ZERC41TVcTEZE6UVxcTEFBAUVFRY6y66+/nrlz51JeXg5Ax44dSUpK4sCBA/z8888MHDiw1nuGh4fTunVrUlJSnMotFgt79+7lnXfe4brrruPee+/l5MmTAKxYsYKbbroJd3d3goKCGDt2LEuWLCE9PZ3k5GTGjh0LwLBhwygqKmLv3r112AsiItIQKMgREZE6ERQUxIwZM5g6dSpXX301M2bMYPHixQwaNAhPT08AYmJiCA8PZ9y4cVx11VVMmDCh1ntu27aNo0eP0rNnT6fy9PR0BgwYwP3338+SJUvo2bMnf/7zn7HZbKSmphIZGemoGxERQVpaGqmpqYSFhWE0Vv3oCw8PJy0trQ57QUREGgJNVxMRkTpz++23c8stt/DLL7/wyy+/8Pbbb/P222/z+eefYzab+c1vfsNvf/tb+vbtyyeffMLgwYN55ZVXmDdvHgAlJSWMHz8egPLycpo1a8azzz7rFLQAtGrVirfffttxfOedd7JgwQKOHz+OzWZzmn5ms9kwGo1YrdYa09JsNhtubm4XqztERKSeKMgREZE6sWXLFrZt28bUqVNJSEggISGBBx98kHHjxrF+/XrS0tKIi4vjD3/4Azabjf/7v//j1ltvpXv37o6Rnl+vyTmTpKQkkpKSuOGGGxxlNpsNDw8PIiMjycjIcJRnZGQQERFBVFQUmZmZTkFQ5TkREWlaNF1NRETqREhICK+//jqbN292lGVmZlJYWEhsbCxt27Zl9+7d5OXlYTAYGDx4MAUFBZSWllJYWHhOzzIajTz11FMcO3YMgI8//phOnToRERHB1VdfzeLFiykrKyM/P59ly5YxYsQIIiIiiImJ4ZtvvgFg7dq1GI1Gp2xuIiLSNBhsNputvhshIiJNw08//cQrr7xCWloaXl5eBAQEMH36dIYOHQrAe++95whAoqKimDVrFq+99hp9+vThqquu4rrrrmPbtm0uPeurr77i7bffpry8nIiICJ566imioqIoKytj/vz5bNiwgdLSUm699VbuvPNOwJ5Ceu7cueTm5uLp6ckTTzzhyAQnIiJNh4IcERERERFpUjRdTUREREREmhQFOSIiIiIi0qQoyBERERERkSZFQY6IiIiIiDQpCnJERERERKRJaZBBzs6dO+u7CY1GSkpKfTehUVA/uU595Rr1k+vUV65RP7lOfeU69ZVr1E+uayx91SCDnPLy8vpuQqNRXFxc301oFNRPrlNfuUb95Dr1lWvUT65TX7lOfeUa9ZPrGktfNcggR0RERERE5HwpyBERERERkSZFQY6IiIiIiDQpCnJERERERKRJUZAjIiIiIiJNioIcERERERFpUhTkiIiIiIjIGW05ksOIF1azOSWnvpviMgU5IiIiIiJyWpkFZia/vYmDGYXc/MZGikut9d0klyjIERERERGR05q/PAlzmT2w8XI34uVuqOcWuca9vhsgIiIiIiIN056T+VzZMZT3b+9HqdVK8oH99d0kl2gkR0REREREalixN53E1Hw6hQdgNBrwcner7ya5TEGOiIiIiIjU8PbaZAwGuGNI2/puyjlTkCMiIiIi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\n",
      "text/plain": [
       "<Figure size 1008x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sp500 = web.DataReader('SP500', 'fred', start='2010', end='2020').dropna()\n",
    "ax = sp500.plot(title='S&P 500',\n",
    "           legend=False,\n",
    "           figsize=(14, 4),\n",
    "           rot=0)\n",
    "ax.set_xlabel('')\n",
    "sns.despine()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Preprocessing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.861337Z",
     "start_time": "2020-06-22T00:28:59.859273Z"
    }
   },
   "outputs": [],
   "source": [
    "scaler = MinMaxScaler()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.878288Z",
     "start_time": "2020-06-22T00:28:59.862997Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    2400.000000\n",
       "mean        0.442010\n",
       "std         0.258512\n",
       "min         0.000000\n",
       "25%         0.183086\n",
       "50%         0.448873\n",
       "75%         0.650368\n",
       "max         1.000000\n",
       "dtype: float64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp500_scaled = pd.Series(scaler.fit_transform(sp500).squeeze(), \n",
    "                         index=sp500.index)\n",
    "sp500_scaled.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Generating recurrent sequences from our time series\n",
    "\n",
    "Our time series is a sequence of numbers indexed by time:\n",
    "\n",
    "$$x_{0},x_{1},x_{2},...,x_{T}$$\n",
    "\n",
    "where $\\{x_t\\}$ is the numerical value in period $t$ and  $T$ is the total length of the series. \n",
    "\n",
    "To apply a RNN for regression of classification, we use a sliding window to construct a rolling set of input/output pairs for our model to learn from as animated below.\n",
    "\n",
    "<img src=\"../assets/timeseries_windowing.gif\" width=600 height=600/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "We will generate sequences of 63 trading days, approximately three months, and use a single LSTM layer with 20 hidden units to predict the index value one timestep ahead. \n",
    "The input to every LSTM layer must have three dimensions, namely:\n",
    "- **Samples**: One sequence is one sample. A batch contains one or more samples.\n",
    "- **Time Steps**: One time step is one point of observation in the sample.\n",
    "- **Features**: One feature is one observation at a time step.\n",
    "\n",
    "Our S&P 500 sample has 2,264 observations or time steps. We will create overlapping sequences using a window of 63 observations each.\n",
    "For a simpler window of size T = 5, we obtain input-output pairs as shown in the following table:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "$$\\begin{array}{c|c}\n",
    "\\text{Input} & \\text{Output}\\\\\n",
    "\\hline  {\\langle x_1,x_2,x_3,x_4,x_5\\rangle} & { x_6} \\\\\n",
    "\\ {\\langle x_{2},x_{3},x_{4},x_{5},x_{6} \\rangle } & {x_{7} } \\\\\n",
    "  {\\vdots} & {\\vdots}\\\\\n",
    " { \\langle x_{T-5},x_{T-4},x_{T-3},x_{T-2},x_{T-1} \\rangle } &  {x_{T}}\n",
    "\\end{array}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "Generally speaking, for window size S, the relationship takes the form \n",
    "\n",
    "$$x_t = f( x_{t-1}, x_{t-2}, ..., x_{t-S}) \\quad\\forall t=S, S+1, ..., T$$\n",
    "\n",
    "Each of the $T-S$ lagged input sequence or vector is of length S with a corresponding scalar output."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "We can use the function create_univariate_rnn_data() to stack sequences selected using a rolling windows:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.884845Z",
     "start_time": "2020-06-22T00:28:59.880387Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "def create_univariate_rnn_data(data, window_size):\n",
    "    n = len(data)\n",
    "    y = data[window_size:]\n",
    "    data = data.values.reshape(-1, 1) # make 2D\n",
    "    X = np.hstack(tuple([data[i: n-j, :] for i, j in enumerate(range(window_size, 0, -1))]))\n",
    "    return pd.DataFrame(X, index=y.index), y"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "We apply this function to the rescaled stock index for a window_size=63 to obtain a two-dimensional dataset of shape number of samples x number of timesteps:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.892803Z",
     "start_time": "2020-06-22T00:28:59.886117Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "window_size = 63"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.902311Z",
     "start_time": "2020-06-22T00:28:59.893749Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "X, y = create_univariate_rnn_data(sp500_scaled, window_size=window_size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.931676Z",
     "start_time": "2020-06-22T00:28:59.903298Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>53</th>\n",
       "      <th>54</th>\n",
       "      <th>55</th>\n",
       "      <th>56</th>\n",
       "      <th>57</th>\n",
       "      <th>58</th>\n",
       "      <th>59</th>\n",
       "      <th>60</th>\n",
       "      <th>61</th>\n",
       "      <th>62</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DATE</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-09-20</th>\n",
       "      <td>0.040867</td>\n",
       "      <td>0.032799</td>\n",
       "      <td>0.031324</td>\n",
       "      <td>0.023049</td>\n",
       "      <td>0.024434</td>\n",
       "      <td>0.023446</td>\n",
       "      <td>0.008415</td>\n",
       "      <td>0.003666</td>\n",
       "      <td>0.002160</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.036948</td>\n",
       "      <td>0.031234</td>\n",
       "      <td>0.034405</td>\n",
       "      <td>0.036799</td>\n",
       "      <td>0.039221</td>\n",
       "      <td>0.044790</td>\n",
       "      <td>0.044430</td>\n",
       "      <td>0.046220</td>\n",
       "      <td>0.046035</td>\n",
       "      <td>0.046454</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-09-21</th>\n",
       "      <td>0.032799</td>\n",
       "      <td>0.031324</td>\n",
       "      <td>0.023049</td>\n",
       "      <td>0.024434</td>\n",
       "      <td>0.023446</td>\n",
       "      <td>0.008415</td>\n",
       "      <td>0.003666</td>\n",
       "      <td>0.002160</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.002471</td>\n",
       "      <td>...</td>\n",
       "      <td>0.031234</td>\n",
       "      <td>0.034405</td>\n",
       "      <td>0.036799</td>\n",
       "      <td>0.039221</td>\n",
       "      <td>0.044790</td>\n",
       "      <td>0.044430</td>\n",
       "      <td>0.046220</td>\n",
       "      <td>0.046035</td>\n",
       "      <td>0.046454</td>\n",
       "      <td>0.054175</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-09-22</th>\n",
       "      <td>0.031324</td>\n",
       "      <td>0.023049</td>\n",
       "      <td>0.024434</td>\n",
       "      <td>0.023446</td>\n",
       "      <td>0.008415</td>\n",
       "      <td>0.003666</td>\n",
       "      <td>0.002160</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.002471</td>\n",
       "      <td>0.016997</td>\n",
       "      <td>...</td>\n",
       "      <td>0.034405</td>\n",
       "      <td>0.036799</td>\n",
       "      <td>0.039221</td>\n",
       "      <td>0.044790</td>\n",
       "      <td>0.044430</td>\n",
       "      <td>0.046220</td>\n",
       "      <td>0.046035</td>\n",
       "      <td>0.046454</td>\n",
       "      <td>0.054175</td>\n",
       "      <td>0.052854</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-09-23</th>\n",
       "      <td>0.023049</td>\n",
       "      <td>0.024434</td>\n",
       "      <td>0.023446</td>\n",
       "      <td>0.008415</td>\n",
       "      <td>0.003666</td>\n",
       "      <td>0.002160</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.002471</td>\n",
       "      <td>0.016997</td>\n",
       "      <td>0.021498</td>\n",
       "      <td>...</td>\n",
       "      <td>0.036799</td>\n",
       "      <td>0.039221</td>\n",
       "      <td>0.044790</td>\n",
       "      <td>0.044430</td>\n",
       "      <td>0.046220</td>\n",
       "      <td>0.046035</td>\n",
       "      <td>0.046454</td>\n",
       "      <td>0.054175</td>\n",
       "      <td>0.052854</td>\n",
       "      <td>0.050373</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-09-24</th>\n",
       "      <td>0.024434</td>\n",
       "      <td>0.023446</td>\n",
       "      <td>0.008415</td>\n",
       "      <td>0.003666</td>\n",
       "      <td>0.002160</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.002471</td>\n",
       "      <td>0.016997</td>\n",
       "      <td>0.021498</td>\n",
       "      <td>0.024975</td>\n",
       "      <td>...</td>\n",
       "      <td>0.039221</td>\n",
       "      <td>0.044790</td>\n",
       "      <td>0.044430</td>\n",
       "      <td>0.046220</td>\n",
       "      <td>0.046035</td>\n",
       "      <td>0.046454</td>\n",
       "      <td>0.054175</td>\n",
       "      <td>0.052854</td>\n",
       "      <td>0.050373</td>\n",
       "      <td>0.046112</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 63 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                  0         1         2         3         4         5   \\\n",
       "DATE                                                                     \n",
       "2010-09-20  0.040867  0.032799  0.031324  0.023049  0.024434  0.023446   \n",
       "2010-09-21  0.032799  0.031324  0.023049  0.024434  0.023446  0.008415   \n",
       "2010-09-22  0.031324  0.023049  0.024434  0.023446  0.008415  0.003666   \n",
       "2010-09-23  0.023049  0.024434  0.023446  0.008415  0.003666  0.002160   \n",
       "2010-09-24  0.024434  0.023446  0.008415  0.003666  0.002160  0.000000   \n",
       "\n",
       "                  6         7         8         9   ...        53        54  \\\n",
       "DATE                                                ...                       \n",
       "2010-09-20  0.008415  0.003666  0.002160  0.000000  ...  0.036948  0.031234   \n",
       "2010-09-21  0.003666  0.002160  0.000000  0.002471  ...  0.031234  0.034405   \n",
       "2010-09-22  0.002160  0.000000  0.002471  0.016997  ...  0.034405  0.036799   \n",
       "2010-09-23  0.000000  0.002471  0.016997  0.021498  ...  0.036799  0.039221   \n",
       "2010-09-24  0.002471  0.016997  0.021498  0.024975  ...  0.039221  0.044790   \n",
       "\n",
       "                  55        56        57        58        59        60  \\\n",
       "DATE                                                                     \n",
       "2010-09-20  0.034405  0.036799  0.039221  0.044790  0.044430  0.046220   \n",
       "2010-09-21  0.036799  0.039221  0.044790  0.044430  0.046220  0.046035   \n",
       "2010-09-22  0.039221  0.044790  0.044430  0.046220  0.046035  0.046454   \n",
       "2010-09-23  0.044790  0.044430  0.046220  0.046035  0.046454  0.054175   \n",
       "2010-09-24  0.044430  0.046220  0.046035  0.046454  0.054175  0.052854   \n",
       "\n",
       "                  61        62  \n",
       "DATE                            \n",
       "2010-09-20  0.046035  0.046454  \n",
       "2010-09-21  0.046454  0.054175  \n",
       "2010-09-22  0.054175  0.052854  \n",
       "2010-09-23  0.052854  0.050373  \n",
       "2010-09-24  0.050373  0.046112  \n",
       "\n",
       "[5 rows x 63 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.937856Z",
     "start_time": "2020-06-22T00:28:59.933306Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DATE\n",
       "2010-09-20    0.054175\n",
       "2010-09-21    0.052854\n",
       "2010-09-22    0.050373\n",
       "2010-09-23    0.046112\n",
       "2010-09-24    0.056863\n",
       "dtype: float64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:28:59.945542Z",
     "start_time": "2020-06-22T00:28:59.939167Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2337, 63)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Train-test split\n",
    "\n",
    "To respect the time series nature of the data, we set aside the data at the end of the sample as hold-out or test set. More specifically, we'll use the data for 2018."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.135973Z",
     "start_time": "2020-06-22T00:28:59.947796Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1008x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sp500_scaled.plot(lw=2, figsize=(14, 4), rot=0)\n",
    "ax.set_xlabel('')\n",
    "sns.despine()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.141874Z",
     "start_time": "2020-06-22T00:29:00.137146Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "X_train = X[:'2018'].values.reshape(-1, window_size, 1)\n",
    "y_train = y[:'2018']\n",
    "\n",
    "# keep the last year for testing\n",
    "X_test = X['2019'].values.reshape(-1, window_size, 1)\n",
    "y_test = y['2019']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.150161Z",
     "start_time": "2020-06-22T00:29:00.142895Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "n_obs, window_size, n_features = X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.159411Z",
     "start_time": "2020-06-22T00:29:00.151354Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2085,)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Keras LSTM Layer"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "Keras has several built-in RNN layers with various configuration options described in detail in the [documentation](https://keras.io/layers/recurrent/)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-03-23T18:41:32.906454Z",
     "start_time": "2020-03-23T18:41:32.655189Z"
    },
    "pycharm": {}
   },
   "source": [
    "```\n",
    "LSTM(units,\n",
    "     activation='tanh',\n",
    "     recurrent_activation='hard_sigmoid',\n",
    "     use_bias=True,\n",
    "     kernel_initializer='glorot_uniform',\n",
    "     recurrent_initializer='orthogonal',\n",
    "     bias_initializer='zeros',\n",
    "     unit_forget_bias=True,\n",
    "     kernel_regularizer=None,\n",
    "     recurrent_regularizer=None,\n",
    "     bias_regularizer=None,\n",
    "     activity_regularizer=None,\n",
    "     kernel_constraint=None,\n",
    "     recurrent_constraint=None,\n",
    "     bias_constraint=None,\n",
    "     dropout=0.0,\n",
    "     recurrent_dropout=0.0,\n",
    "     implementation=1,\n",
    "     return_sequences=False,\n",
    "     return_state=False,\n",
    "     go_backwards=False,\n",
    "     stateful=False,\n",
    "     unroll=False)\n",
    " ```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "##  Define the Model Architecture\n",
    "\n",
    "Having created input/output pairs out of our time series and cut this into training/testing sets, we can now begin setting up our RNN.  We use Keras to quickly build a two hidden layer RNN of the following specifications\n",
    "\n",
    "- layer 1 uses an LSTM module with 20 hidden units (note here the input_shape = (window_size,1))\n",
    "- layer 2 uses a fully connected module with one unit\n",
    "- the 'mean_squared_error' loss should be used (remember: we are performing regression here)\n",
    "\n",
    "This can be constructed using just a few lines - see e.g., the [general Keras documentation](https://keras.io/getting-started/sequential-model-guide/) and the [LSTM documentation in particular](https://keras.io/layers/recurrent/) for examples of how to quickly use Keras to build neural network models.  Make sure you are initializing your optimizer given the [keras-recommended approach for RNNs](https://keras.io/optimizers/) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.801124Z",
     "start_time": "2020-06-22T00:29:00.160761Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "rnn = Sequential([\n",
    "    LSTM(units=10, \n",
    "         input_shape=(window_size, n_features), name='LSTM'),\n",
    "    Dense(1, name='Output')\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "The summary shows that the model has 1,781 parameters:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.807139Z",
     "start_time": "2020-06-22T00:29:00.802281Z"
    },
    "pycharm": {},
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "LSTM (LSTM)                  (None, 10)                480       \n",
      "_________________________________________________________________\n",
      "Output (Dense)               (None, 1)                 11        \n",
      "=================================================================\n",
      "Total params: 491\n",
      "Trainable params: 491\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "rnn.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Train the Model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "We train the model using the RMSProp optimizer recommended for RNN with default settings and compile the model with mean squared error for this regression problem:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.824619Z",
     "start_time": "2020-06-22T00:29:00.808444Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "optimizer = keras.optimizers.RMSprop(lr=0.001,\n",
    "                                     rho=0.9,\n",
    "                                     epsilon=1e-08,\n",
    "                                     decay=0.0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.838920Z",
     "start_time": "2020-06-22T00:29:00.826528Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "rnn.compile(loss='mean_squared_error', \n",
    "            optimizer=optimizer)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "We define an EarlyStopping callback and train the model for up to 100 episodes. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.849248Z",
     "start_time": "2020-06-22T00:29:00.840141Z"
    }
   },
   "outputs": [],
   "source": [
    "rnn_path = (results_path / 'rnn.h5').as_posix()\n",
    "checkpointer = ModelCheckpoint(filepath=rnn_path,\n",
    "                               verbose=1,\n",
    "                               monitor='val_loss',\n",
    "                               save_best_only=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:00.857400Z",
     "start_time": "2020-06-22T00:29:00.850417Z"
    },
    "pycharm": {}
   },
   "outputs": [],
   "source": [
    "early_stopping = EarlyStopping(monitor='val_loss', \n",
    "                              patience=20,\n",
    "                              restore_best_weights=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:53.329264Z",
     "start_time": "2020-06-22T00:29:00.858560Z"
    },
    "pycharm": {},
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 0.0455\n",
      "Epoch 00001: val_loss improved from inf to 0.00588, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 1s 6ms/step - loss: 0.0424 - val_loss: 0.0059\n",
      "Epoch 2/150\n",
      " 99/105 [===========================>..] - ETA: 0s - loss: 7.4839e-04\n",
      "Epoch 00002: val_loss improved from 0.00588 to 0.00370, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 7.5517e-04 - val_loss: 0.0037\n",
      "Epoch 3/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 5.4455e-04\n",
      "Epoch 00003: val_loss improved from 0.00370 to 0.00101, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 5.3073e-04 - val_loss: 0.0010\n",
      "Epoch 4/150\n",
      "102/105 [============================>.] - ETA: 0s - loss: 4.6911e-04\n",
      "Epoch 00004: val_loss improved from 0.00101 to 0.00081, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 4.6534e-04 - val_loss: 8.1109e-04\n",
      "Epoch 5/150\n",
      " 91/105 [=========================>....] - ETA: 0s - loss: 4.3238e-04\n",
      "Epoch 00005: val_loss did not improve from 0.00081\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 4.1375e-04 - val_loss: 0.0067\n",
      "Epoch 6/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 4.1304e-04\n",
      "Epoch 00006: val_loss did not improve from 0.00081\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 3.9875e-04 - val_loss: 0.0012\n",
      "Epoch 7/150\n",
      "104/105 [============================>.] - ETA: 0s - loss: 3.6246e-04\n",
      "Epoch 00007: val_loss did not improve from 0.00081\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 3.6212e-04 - val_loss: 0.0021\n",
      "Epoch 8/150\n",
      "101/105 [===========================>..] - ETA: 0s - loss: 3.3048e-04\n",
      "Epoch 00008: val_loss improved from 0.00081 to 0.00048, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 3.3291e-04 - val_loss: 4.7580e-04\n",
      "Epoch 9/150\n",
      " 99/105 [===========================>..] - ETA: 0s - loss: 2.9856e-04\n",
      "Epoch 00009: val_loss did not improve from 0.00048\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 3.0256e-04 - val_loss: 0.0048\n",
      "Epoch 10/150\n",
      "105/105 [==============================] - ETA: 0s - loss: 3.2092e-04\n",
      "Epoch 00010: val_loss did not improve from 0.00048\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 3.2092e-04 - val_loss: 0.0018\n",
      "Epoch 11/150\n",
      " 91/105 [=========================>....] - ETA: 0s - loss: 2.6870e-04\n",
      "Epoch 00011: val_loss did not improve from 0.00048\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 2.7843e-04 - val_loss: 8.5474e-04\n",
      "Epoch 12/150\n",
      " 88/105 [========================>.....] - ETA: 0s - loss: 2.7523e-04\n",
      "Epoch 00012: val_loss improved from 0.00048 to 0.00037, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 2.7296e-04 - val_loss: 3.7270e-04\n",
      "Epoch 13/150\n",
      "102/105 [============================>.] - ETA: 0s - loss: 2.5604e-04\n",
      "Epoch 00013: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 2.5562e-04 - val_loss: 0.0052\n",
      "Epoch 14/150\n",
      " 90/105 [========================>.....] - ETA: 0s - loss: 2.5715e-04\n",
      "Epoch 00014: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 2.6218e-04 - val_loss: 5.6475e-04\n",
      "Epoch 15/150\n",
      "100/105 [===========================>..] - ETA: 0s - loss: 2.3664e-04\n",
      "Epoch 00015: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 2.3309e-04 - val_loss: 4.0825e-04\n",
      "Epoch 16/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 2.4202e-04\n",
      "Epoch 00016: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 2.3695e-04 - val_loss: 0.0029\n",
      "Epoch 17/150\n",
      " 93/105 [=========================>....] - ETA: 0s - loss: 2.2748e-04\n",
      "Epoch 00017: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 2.2826e-04 - val_loss: 6.3046e-04\n",
      "Epoch 18/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 2.1649e-04\n",
      "Epoch 00018: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 2.1443e-04 - val_loss: 0.0027\n",
      "Epoch 19/150\n",
      "102/105 [============================>.] - ETA: 0s - loss: 2.1383e-04\n",
      "Epoch 00019: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 2.1266e-04 - val_loss: 0.0019\n",
      "Epoch 20/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 2.1381e-04\n",
      "Epoch 00020: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 2.1244e-04 - val_loss: 0.0016\n",
      "Epoch 21/150\n",
      " 99/105 [===========================>..] - ETA: 0s - loss: 1.9860e-04\n",
      "Epoch 00021: val_loss did not improve from 0.00037\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.9741e-04 - val_loss: 0.0021\n",
      "Epoch 22/150\n",
      "103/105 [============================>.] - ETA: 0s - loss: 1.9845e-04\n",
      "Epoch 00022: val_loss improved from 0.00037 to 0.00024, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.9679e-04 - val_loss: 2.3693e-04\n",
      "Epoch 23/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 1.9235e-04\n",
      "Epoch 00023: val_loss did not improve from 0.00024\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.9857e-04 - val_loss: 0.0013\n",
      "Epoch 24/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 1.8702e-04\n",
      "Epoch 00024: val_loss did not improve from 0.00024\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.8670e-04 - val_loss: 2.7561e-04\n",
      "Epoch 25/150\n",
      "101/105 [===========================>..] - ETA: 0s - loss: 1.8370e-04\n",
      "Epoch 00025: val_loss improved from 0.00024 to 0.00022, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.8232e-04 - val_loss: 2.2487e-04\n",
      "Epoch 26/150\n",
      "102/105 [============================>.] - ETA: 0s - loss: 1.7777e-04\n",
      "Epoch 00026: val_loss did not improve from 0.00022\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 1.7741e-04 - val_loss: 5.8497e-04\n",
      "Epoch 27/150\n",
      "105/105 [==============================] - ETA: 0s - loss: 1.7498e-04\n",
      "Epoch 00027: val_loss improved from 0.00022 to 0.00021, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 1.7498e-04 - val_loss: 2.1277e-04\n",
      "Epoch 28/150\n",
      " 90/105 [========================>.....] - ETA: 0s - loss: 1.7488e-04\n",
      "Epoch 00028: val_loss improved from 0.00021 to 0.00020, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 3ms/step - loss: 1.6993e-04 - val_loss: 2.0426e-04\n",
      "Epoch 29/150\n",
      " 92/105 [=========================>....] - ETA: 0s - loss: 1.7015e-04\n",
      "Epoch 00029: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.7114e-04 - val_loss: 2.6052e-04\n",
      "Epoch 30/150\n",
      " 99/105 [===========================>..] - ETA: 0s - loss: 1.5653e-04\n",
      "Epoch 00030: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.5374e-04 - val_loss: 6.9099e-04\n",
      "Epoch 31/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 1.5530e-04\n",
      "Epoch 00031: val_loss improved from 0.00020 to 0.00020, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 1.5989e-04 - val_loss: 2.0041e-04\n",
      "Epoch 32/150\n",
      "104/105 [============================>.] - ETA: 0s - loss: 1.5473e-04\n",
      "Epoch 00032: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.5453e-04 - val_loss: 2.2005e-04\n",
      "Epoch 33/150\n",
      " 93/105 [=========================>....] - ETA: 0s - loss: 1.5410e-04\n",
      "Epoch 00033: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.5941e-04 - val_loss: 0.0010\n",
      "Epoch 34/150\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 96/105 [==========================>...] - ETA: 0s - loss: 1.4961e-04\n",
      "Epoch 00034: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.5522e-04 - val_loss: 4.4414e-04\n",
      "Epoch 35/150\n",
      " 92/105 [=========================>....] - ETA: 0s - loss: 1.3921e-04\n",
      "Epoch 00035: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.5118e-04 - val_loss: 2.8947e-04\n",
      "Epoch 36/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 1.4667e-04\n",
      "Epoch 00036: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.4657e-04 - val_loss: 3.4191e-04\n",
      "Epoch 37/150\n",
      "104/105 [============================>.] - ETA: 0s - loss: 1.3847e-04\n",
      "Epoch 00037: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.3888e-04 - val_loss: 3.3352e-04\n",
      "Epoch 38/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 1.4425e-04\n",
      "Epoch 00038: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.4214e-04 - val_loss: 2.3517e-04\n",
      "Epoch 39/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 1.4257e-04\n",
      "Epoch 00039: val_loss did not improve from 0.00020\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.4230e-04 - val_loss: 3.3486e-04\n",
      "Epoch 40/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 1.3776e-04\n",
      "Epoch 00040: val_loss improved from 0.00020 to 0.00019, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.3653e-04 - val_loss: 1.8989e-04\n",
      "Epoch 41/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 1.3520e-04\n",
      "Epoch 00041: val_loss did not improve from 0.00019\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.3421e-04 - val_loss: 3.8536e-04\n",
      "Epoch 42/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 1.3602e-04\n",
      "Epoch 00042: val_loss did not improve from 0.00019\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.3599e-04 - val_loss: 3.6122e-04\n",
      "Epoch 43/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 1.3551e-04\n",
      "Epoch 00043: val_loss improved from 0.00019 to 0.00019, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.3558e-04 - val_loss: 1.8888e-04\n",
      "Epoch 44/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 1.3360e-04\n",
      "Epoch 00044: val_loss improved from 0.00019 to 0.00015, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.3052e-04 - val_loss: 1.5386e-04\n",
      "Epoch 45/150\n",
      "103/105 [============================>.] - ETA: 0s - loss: 1.3164e-04\n",
      "Epoch 00045: val_loss improved from 0.00015 to 0.00015, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 1.3128e-04 - val_loss: 1.5201e-04\n",
      "Epoch 46/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 1.2780e-04\n",
      "Epoch 00046: val_loss improved from 0.00015 to 0.00015, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.2776e-04 - val_loss: 1.4998e-04\n",
      "Epoch 47/150\n",
      "104/105 [============================>.] - ETA: 0s - loss: 1.2544e-04\n",
      "Epoch 00047: val_loss did not improve from 0.00015\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 1.2585e-04 - val_loss: 1.6848e-04\n",
      "Epoch 48/150\n",
      " 92/105 [=========================>....] - ETA: 0s - loss: 1.2098e-04\n",
      "Epoch 00048: val_loss did not improve from 0.00015\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.2118e-04 - val_loss: 6.6547e-04\n",
      "Epoch 49/150\n",
      "105/105 [==============================] - ETA: 0s - loss: 1.1773e-04\n",
      "Epoch 00049: val_loss did not improve from 0.00015\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.1773e-04 - val_loss: 2.9632e-04\n",
      "Epoch 50/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 1.2376e-04\n",
      "Epoch 00050: val_loss did not improve from 0.00015\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.1954e-04 - val_loss: 1.7150e-04\n",
      "Epoch 51/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 1.2153e-04\n",
      "Epoch 00051: val_loss improved from 0.00015 to 0.00014, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.2246e-04 - val_loss: 1.4085e-04\n",
      "Epoch 52/150\n",
      "103/105 [============================>.] - ETA: 0s - loss: 1.1763e-04\n",
      "Epoch 00052: val_loss improved from 0.00014 to 0.00013, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 1.1731e-04 - val_loss: 1.3242e-04\n",
      "Epoch 53/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 1.1601e-04\n",
      "Epoch 00053: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.1352e-04 - val_loss: 2.6827e-04\n",
      "Epoch 54/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 1.1810e-04\n",
      "Epoch 00054: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.1646e-04 - val_loss: 1.9691e-04\n",
      "Epoch 55/150\n",
      " 93/105 [=========================>....] - ETA: 0s - loss: 1.1767e-04\n",
      "Epoch 00055: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.1812e-04 - val_loss: 1.7322e-04\n",
      "Epoch 56/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 1.0758e-04\n",
      "Epoch 00056: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.0872e-04 - val_loss: 4.5929e-04\n",
      "Epoch 57/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 1.0988e-04\n",
      "Epoch 00057: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 1s 5ms/step - loss: 1.0741e-04 - val_loss: 8.5061e-04\n",
      "Epoch 58/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 1.0860e-04\n",
      "Epoch 00058: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 1.0776e-04 - val_loss: 2.2994e-04\n",
      "Epoch 59/150\n",
      "105/105 [==============================] - ETA: 0s - loss: 1.0534e-04\n",
      "Epoch 00059: val_loss improved from 0.00013 to 0.00013, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 1.0534e-04 - val_loss: 1.3215e-04\n",
      "Epoch 60/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 1.0339e-04\n",
      "Epoch 00060: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.0099e-04 - val_loss: 3.4269e-04\n",
      "Epoch 61/150\n",
      "100/105 [===========================>..] - ETA: 0s - loss: 1.0588e-04\n",
      "Epoch 00061: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.0419e-04 - val_loss: 2.0045e-04\n",
      "Epoch 62/150\n",
      "100/105 [===========================>..] - ETA: 0s - loss: 1.0441e-04\n",
      "Epoch 00062: val_loss did not improve from 0.00013\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.0456e-04 - val_loss: 1.6793e-04\n",
      "Epoch 63/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 9.7536e-05\n",
      "Epoch 00063: val_loss improved from 0.00013 to 0.00012, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 1.0206e-04 - val_loss: 1.2493e-04\n",
      "Epoch 64/150\n",
      "103/105 [============================>.] - ETA: 0s - loss: 1.0073e-04\n",
      "Epoch 00064: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 1.0049e-04 - val_loss: 2.2024e-04\n",
      "Epoch 65/150\n",
      "105/105 [==============================] - ETA: 0s - loss: 9.8972e-05\n",
      "Epoch 00065: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.8972e-05 - val_loss: 1.6205e-04\n",
      "Epoch 66/150\n",
      " 93/105 [=========================>....] - ETA: 0s - loss: 9.4836e-05\n",
      "Epoch 00066: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.4601e-05 - val_loss: 1.4862e-04\n",
      "Epoch 67/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 9.6572e-05\n",
      "Epoch 00067: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.6922e-05 - val_loss: 1.4283e-04\n",
      "Epoch 68/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 9.6640e-05\n",
      "Epoch 00068: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.9077e-05 - val_loss: 0.0010\n",
      "Epoch 69/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 9.2175e-05\n",
      "Epoch 00069: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.7885e-05 - val_loss: 1.4946e-04\n",
      "Epoch 70/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 9.2284e-05\n",
      "Epoch 00070: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.4562e-05 - val_loss: 5.8100e-04\n",
      "Epoch 71/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 9.4112e-05\n",
      "Epoch 00071: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.6479e-05 - val_loss: 2.7146e-04\n",
      "Epoch 72/150\n",
      "102/105 [============================>.] - ETA: 0s - loss: 8.8487e-05\n",
      "Epoch 00072: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 8.7818e-05 - val_loss: 1.9897e-04\n",
      "Epoch 73/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 9.2066e-05\n",
      "Epoch 00073: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.2195e-05 - val_loss: 2.8640e-04\n",
      "Epoch 74/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 9.1824e-05\n",
      "Epoch 00074: val_loss improved from 0.00012 to 0.00012, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.3017e-05 - val_loss: 1.1837e-04\n",
      "Epoch 75/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 8.7867e-05\n",
      "Epoch 00075: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.6160e-05 - val_loss: 2.4053e-04\n",
      "Epoch 76/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 9.4892e-05\n",
      "Epoch 00076: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.3350e-05 - val_loss: 2.8772e-04\n",
      "Epoch 77/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 9.1303e-05\n",
      "Epoch 00077: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 9.2387e-05 - val_loss: 3.8830e-04\n",
      "Epoch 78/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 9.0950e-05\n",
      "Epoch 00078: val_loss improved from 0.00012 to 0.00012, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 1s 5ms/step - loss: 9.1622e-05 - val_loss: 1.1557e-04\n",
      "Epoch 79/150\n",
      "103/105 [============================>.] - ETA: 0s - loss: 8.7621e-05\n",
      "Epoch 00079: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.7556e-05 - val_loss: 4.3934e-04\n",
      "Epoch 80/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 9.2171e-05\n",
      "Epoch 00080: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 9.0514e-05 - val_loss: 3.1937e-04\n",
      "Epoch 81/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 8.8238e-05\n",
      "Epoch 00081: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.8945e-05 - val_loss: 1.7648e-04\n",
      "Epoch 82/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 8.5748e-05\n",
      "Epoch 00082: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.6501e-05 - val_loss: 3.8351e-04\n",
      "Epoch 83/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 8.9720e-05\n",
      "Epoch 00083: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.9592e-05 - val_loss: 5.0158e-04\n",
      "Epoch 84/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 8.7144e-05\n",
      "Epoch 00084: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 8.6327e-05 - val_loss: 1.8081e-04\n",
      "Epoch 85/150\n",
      " 92/105 [=========================>....] - ETA: 0s - loss: 8.5838e-05\n",
      "Epoch 00085: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.7534e-05 - val_loss: 1.2058e-04\n",
      "Epoch 86/150\n",
      " 91/105 [=========================>....] - ETA: 0s - loss: 8.6152e-05\n",
      "Epoch 00086: val_loss improved from 0.00012 to 0.00012, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.7850e-05 - val_loss: 1.1557e-04\n",
      "Epoch 87/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 8.3088e-05\n",
      "Epoch 00087: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.1317e-05 - val_loss: 4.4360e-04\n",
      "Epoch 88/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 9.1450e-05\n",
      "Epoch 00088: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.9604e-05 - val_loss: 1.5574e-04\n",
      "Epoch 89/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 8.9934e-05\n",
      "Epoch 00089: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.6522e-05 - val_loss: 1.6182e-04\n",
      "Epoch 90/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 8.4549e-05\n",
      "Epoch 00090: val_loss did not improve from 0.00012\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.5106e-05 - val_loss: 2.0097e-04\n",
      "Epoch 91/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 8.4895e-05\n",
      "Epoch 00091: val_loss improved from 0.00012 to 0.00011, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 8.4314e-05 - val_loss: 1.1120e-04\n",
      "Epoch 92/150\n",
      "105/105 [==============================] - ETA: 0s - loss: 8.1497e-05\n",
      "Epoch 00092: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.1497e-05 - val_loss: 2.3953e-04\n",
      "Epoch 93/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 8.2354e-05\n",
      "Epoch 00093: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.3321e-05 - val_loss: 1.9601e-04\n",
      "Epoch 94/150\n",
      "103/105 [============================>.] - ETA: 0s - loss: 8.2039e-05\n",
      "Epoch 00094: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 8.3233e-05 - val_loss: 1.3773e-04\n",
      "Epoch 95/150\n",
      "103/105 [============================>.] - ETA: 0s - loss: 8.3019e-05\n",
      "Epoch 00095: val_loss improved from 0.00011 to 0.00011, saving model to results/univariate_time_series/rnn.h5\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 8.3459e-05 - val_loss: 1.1017e-04\n",
      "Epoch 96/150\n",
      "105/105 [==============================] - ETA: 0s - loss: 7.9638e-05\n",
      "Epoch 00096: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 7.9638e-05 - val_loss: 1.7005e-04\n",
      "Epoch 97/150\n",
      " 93/105 [=========================>....] - ETA: 0s - loss: 8.3635e-05\n",
      "Epoch 00097: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.2208e-05 - val_loss: 1.6028e-04\n",
      "Epoch 98/150\n",
      " 93/105 [=========================>....] - ETA: 0s - loss: 8.5393e-05\n",
      "Epoch 00098: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.3840e-05 - val_loss: 1.4668e-04\n",
      "Epoch 99/150\n",
      " 93/105 [=========================>....] - ETA: 0s - loss: 7.8794e-05\n",
      "Epoch 00099: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.2892e-05 - val_loss: 1.8632e-04\n",
      "Epoch 100/150\n",
      "102/105 [============================>.] - ETA: 0s - loss: 8.1542e-05\n",
      "Epoch 00100: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 8.0606e-05 - val_loss: 1.2358e-04\n",
      "Epoch 101/150\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 97/105 [==========================>...] - ETA: 0s - loss: 7.7119e-05\n",
      "Epoch 00101: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.1989e-05 - val_loss: 1.8658e-04\n",
      "Epoch 102/150\n",
      "100/105 [===========================>..] - ETA: 0s - loss: 8.1358e-05\n",
      "Epoch 00102: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.1238e-05 - val_loss: 2.7674e-04\n",
      "Epoch 103/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 8.1740e-05\n",
      "Epoch 00103: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.2156e-05 - val_loss: 1.7315e-04\n",
      "Epoch 104/150\n",
      "101/105 [===========================>..] - ETA: 0s - loss: 7.9254e-05\n",
      "Epoch 00104: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 1s 6ms/step - loss: 7.8230e-05 - val_loss: 1.7475e-04\n",
      "Epoch 105/150\n",
      " 97/105 [==========================>...] - ETA: 0s - loss: 7.7495e-05\n",
      "Epoch 00105: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 8.0735e-05 - val_loss: 1.2008e-04\n",
      "Epoch 106/150\n",
      "105/105 [==============================] - ETA: 0s - loss: 7.9774e-05\n",
      "Epoch 00106: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 1s 5ms/step - loss: 7.9774e-05 - val_loss: 2.0882e-04\n",
      "Epoch 107/150\n",
      " 94/105 [=========================>....] - ETA: 0s - loss: 7.9619e-05\n",
      "Epoch 00107: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 7.8319e-05 - val_loss: 1.1090e-04\n",
      "Epoch 108/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 7.8002e-05\n",
      "Epoch 00108: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 7.6599e-05 - val_loss: 1.1376e-04\n",
      "Epoch 109/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 7.9034e-05\n",
      "Epoch 00109: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 7.9297e-05 - val_loss: 1.9875e-04\n",
      "Epoch 110/150\n",
      " 99/105 [===========================>..] - ETA: 0s - loss: 7.9004e-05\n",
      "Epoch 00110: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 7.8386e-05 - val_loss: 1.4368e-04\n",
      "Epoch 111/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 7.8792e-05\n",
      "Epoch 00111: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 5ms/step - loss: 8.0153e-05 - val_loss: 1.4246e-04\n",
      "Epoch 112/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 7.4504e-05\n",
      "Epoch 00112: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 7.5496e-05 - val_loss: 1.5546e-04\n",
      "Epoch 113/150\n",
      " 95/105 [==========================>...] - ETA: 0s - loss: 7.3491e-05\n",
      "Epoch 00113: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 7.3699e-05 - val_loss: 1.9959e-04\n",
      "Epoch 114/150\n",
      " 96/105 [==========================>...] - ETA: 0s - loss: 7.8553e-05\n",
      "Epoch 00114: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 0s 4ms/step - loss: 7.8310e-05 - val_loss: 1.3067e-04\n",
      "Epoch 115/150\n",
      " 98/105 [===========================>..] - ETA: 0s - loss: 7.9453e-05\n",
      "Epoch 00115: val_loss did not improve from 0.00011\n",
      "105/105 [==============================] - 1s 5ms/step - loss: 7.8639e-05 - val_loss: 1.3925e-04\n"
     ]
    }
   ],
   "source": [
    "lstm_training = rnn.fit(X_train,\n",
    "                        y_train,\n",
    "                        epochs=150,\n",
    "                        batch_size=20,\n",
    "                        shuffle=True,\n",
    "                        validation_data=(X_test, y_test),\n",
    "                        callbacks=[early_stopping, checkpointer],\n",
    "                        verbose=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "Training stops after 51 epochs; the `early_stopping` callback restores the weights for the best model (after 41 epochs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {}
   },
   "source": [
    "## Evaluate model performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:54.342099Z",
     "start_time": "2020-06-22T00:29:53.330943Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAAEYCAYAAABBWFftAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde3zO9f/H8ce189hGyPmQMzk2+iaHhCSHOcscJuSYws/X8Vskp6GiqOYQKckpZ0UOiRwSqzlFRA5DjmM2O1/X74+PXayNbXbNddme99ttt+tz/rw+2yfttff7/XqbLBaLBREREREREckwJ3sHICIiIiIiklUowRIREREREbERJVgiIiIiIiI2ogRLRERERETERpRgiYiIiIiI2IgSLBERERERERtRgiUiDmny5Mm8+OKLtGrVilatWjF48OAUj1u5ciU1atSwHpf4NXz4cJvHtHLlSvr27ZvqcaGhoVSsWDFJPI0bNyYgIIBz586len758uW5fv16kvu9/fbb7N69O8PPALB3716qVq2aJL6XXnqJfv36ERYWBsDIkSMpX748v/zyS7Jnq1ChAuPGjQMgLi6OqVOn4ufnR8uWLfHz82PWrFkkzgAyc+ZMatWqlezn88EHH9w3vmHDhnH8+PFkcbZo0YKAgABOnjz50M9+8OBBxowZk2z7qlWreOWVV5Jtv3r1KtWrV+fq1aspXi80NJRnnnkGgMWLFzNnzpwUj3vmmWcIDQ1Nc2yHDh1i4MCBDzw+PQICAmjYsKH1e+nn50eTJk1YvXq19TnKly9P165dk52b+C5cv34dgJCQEAICAvDz86NFixb06tWLEydOWI8vX748fn5+yX7mqT1/ovDwcPz8/Dh06NB9j5k9ezavvPIKjRs3ZubMmfx7xpmbN2/SqFEjNm7caN22cOFCmjRpQqtWrRgyZAg3btyw7lu0aBFt2rShadOmDB06lNjYWACWLFnCSy+9RNu2bZP8t9u7d+8k72FERAS9evUiOjo6Tc8oIlmbi70DEBFJye+//860adPw9fVN9diaNWsye/bsRxBV2nl4eLBmzRrrusViYcKECUyfPp1p06al+3oTJ060ZXgUL148SXwJCQm89dZbzJ8/n//+978AFC5cmDVr1lCrVi3rcatXryZv3rzW9S+//JLQ0FBWrVqFi4sLt27d4rXXXuOJJ56gY8eOADRr1izFpCYl33//Pd7e3pQrV469e/cmi3Pu3LlMmDCBL7744qGe+6+//uLSpUvJtjdr1ozJkycTHBxMjRo1rNtXrFhBo0aNyJcvX6rX7tSp00PFlFJsVapUYcaMGRm63r8NHz48SRJ56NAhOnXqxEsvvQSAu7s7f//9N+fPn6dIkSIA3L59m99++816TmxsLH379mX+/PlUqlQJgDVr1tC7d2+2bt2Ks7MzYLwXefLkSXeM27dvZ9KkSZw/f/6Bx2zYsIGVK1fi7OzM66+/TunSpWnWrBlg/Lc2YsQIIiIirOf88ssvzJ07l2XLllGwYEFWr17NmDFjmDFjBps2beLrr79m8eLF+Pj4MGjQIBYsWECfPn2YM2cOGzZsYMuWLXzzzTeMGDGCDRs2UKZMGUqXLm29vpeXFy1atODjjz9mxIgR6X5uEclalGCJiMOJjY3ljz/+4PPPP+fcuXM89dRTjBo1isKFC6f7WiNHjsTd3Z1jx45x7do16tSpwzvvvIOrqyv79+9n6tSpREVF4erqyuDBg3nhhRcA4y/kiUlDiRIlmDx5MgBXrlyhT58+XLx4EWdnZz788MMkv2jdT0xMDJcvX7b+on7r1i3ee+89jh07hslkol69egwZMgQXl5T/WQ4ICKBLly5UrlyZ7t27U79+fQ4cOEB4eDjDhg2jcePGREVF8e6773LgwAG8vb0pU6YMgDX2B4mIiOD69etJEtpmzZrx7bffEh0djYeHBwAbNmygadOmmM1m6/cjLi6O2NhYXFxc8Pb2ZurUqdb96TVz5kw+/vjjFPdZLBZu3rzJk08+ad22fPlyFi9ejNlsJnfu3IwePZrSpUuzf/9+Jk+ebI2jb9++VK1alRkzZnDr1i1GjRpFYGCg9Tru7u60a9eOFStWWBMsi8XC8uXLmTp1KiEhIbz//vvExsZy5coVateuzaRJk5LFHhYWxpgxY9i/fz/jx4/HZDJRpUoVaxxms5lJkyZx4MABIiMjrYl34cKFk8TWunVrxo8fz/r16x/4rlSpUoU+ffqwa9cuLl++TK9evejcuXOavtfnzp0jR44cuLm5AeDs7EzTpk1Zt24d/fr1A2DTpk00atSI+fPnAxAVFcWtW7e4ffu29TotW7bEy8uLhIQEa4L1IL1798bf359GjRol2/fVV1/x/vvv37fFGmDz5s20aNGCHDlyANC2bVvWrl1rTbA+++wzypcvT2RkpPWcI0eOULt2bQoWLAjAyy+/zDvvvENsbCyrV6+mZ8+e5M6dG4D33nuPuLg4AFxdXa3PnLg8f/78FBP8pk2b8sEHH/D666+nKSEXkaxLCZaIOJxLly5Rq1YtBg8eTNmyZZk3bx5vvPEGq1atwmQyJTt+//79tGrVKsm2bt260a5dO8DoevX111/j6upKz549Wbp0Kc2bN2fgwIEEBQVRrVo1Tpw4QdeuXfn22285fvw4K1euZNmyZeTKlYvAwEC+/vprChQowLlz55g+fTolSpRgwoQJzJs3L9kv2gDR0dG0atUKs9nMtWvXyJUrFy+//DJ9+vQBYMKECeTOnZt169YRFxdH//79mT9/vnX/g5w7d466desyevRofvjhByZNmkTjxo357LPPSEhIYMOGDdy+fZvOnTvz9NNPp3iNs2fP0qpVK+Lj47l+/ToFCxakadOmvPbaa9Zj8uTJwzPPPMOPP/5Is2bN2L9/P6VLlyZXrlzWroQ9evTgjTfeoFatWlSrVg1fX1+aNGmS5L7ff/89wcHBSe4/dOhQ6tWrl2Tb8ePHiYmJoVy5csniBLh27RpRUVF89dVXAPz666+sXr2aRYsW4enpyc6dO3nzzTfZsGEDM2fOpEePHjRv3pxjx46xdOlSmjRpwsCBA/nhhx+SJFeJOnXqROvWrXn77bfJmTMnu3fvxsvLC19fX4YMGcLAgQN57rnniIyMpFGjRhw+fNj6S/m9YmNjGTRoEB988AHPP/8869evZ9myZQAcOHCAy5cvs3TpUpycnJgzZw5z585l1qxZSWLbu3ev9XoPeldiY2N54oknWLJkCYcPH6ZTp060a9cOd3f3ZHFNnTqVoKAgwsPDiYmJoVatWixYsMCaYAG0bt2aYcOGWROs1atX87///c+aYOXKlYthw4bRq1cv8uXLh6+vL8899xzNmzdPcp3XXnsNJ6e7oxCKFi3Kp59+ChitkPczb968++5LdPHiRZ5//nnresGCBa0tf7t27WLfvn3MmzeP7t27W4+pVq0aCxcutLbOrVy5kri4OG7cuMHp06e5du0ar7/+OpcvX6ZmzZoMGzYMgCFDhhAQEED+/PmZMmUKs2bNokuXLnh5eSWLy93dncqVK7N9+3brvz0ikj0pwRIRh1OsWLEkv4S9/vrrfPbZZ4SGhlKsWLFkx6fWRbBNmzbkzJkTgFatWrF161aKFStG8eLFqVatGgBly5bF19eXX3/9laNHj/LKK6+QK1cuAEaNGgUYY7CqVq1KiRIlAKhYsSKbN29O8Z73dhH8+eefGTZsGA0aNLDGsWPHDhYvXozJZMLNzQ1/f3++/PLLNCVYrq6u1K9fH4Cnn37aOpZk+/btjBo1CicnJ7y8vGjTpg1//vlnite4t+vdihUrmD59Ok2bNsXV1TXJca1atWLNmjU0a9aM1atX06ZNGw4fPmzdX7BgQVauXMlff/3F3r172bt3Lx07dmTkyJF06dIFSHsXwVOnTlG8ePH7xglYWxu2bt3KTz/9xJkzZ/D397fuDw8P58aNGzRt2pRx48bx448/Urt2bYYMGZLq/YsVK0aNGjXYsGED7du3Z+nSpdZnmDx5Mjt27GDWrFmcOnWKmJgYbt++nWKCdfz4cVxcXKxJQIsWLazP/8wzz5ArVy6WLFnCuXPn2Lt3r/WduJ/U3pXElqBKlSoRGxvL7du3U0ywErsIXr9+nd69e1OgQIFkCXjlypVxdnbm8OHD5M2bl8jIyCQJLxhJdYcOHdi3bx/79u1j7ty5zJ07l2+//RZvb2/g4bsIpoXFYknyhxaLxYKTkxMXLlxg8uTJzJ8/P1lLWs2aNRkwYABvvvkmJpOJdu3akTt3blxdXYmPj2fXrl0EBQXh5ubGyJEjmT59Om+//TZNmjShSZMmgJHsh4SEMGjQICZOnMjp06epXbs2PXr0sN6naNGi/P3335ny3CLy+FCRCxFxOMeOHbMOvk9ksVhwdXVNMmj+QYPg73XvL1uJv4wlJCQkaw2zWCzEx8fj7OycZF94eLh1gP69XfhMJlOywfUpqVevHj169GDQoEHWcSFmsznJPcxmM/Hx8Wl6HldXV2vrwL3XcHFxSRLPvS0ID9KuXTsaNmzIoEGDksXQqFEjDhw4wMWLF9m3b1+yVqepU6fy999/U6ZMGbp06cKMGTOYMGECixcvTtO972UymVLtWti6dWsSEhI4efIkZrPZmgCuWbOGVatWsWLFCnLlyoW/vz9r166lTp067Ny5k5YtWxITE5NqDJ07d+bbb7/l+vXrBAcH4+fnB0DXrl3Zvn07pUqVYsCAAeTPn/+BP/t/70t8b3766Sdr4ZJGjRqladxWau9KYjKVeExq72SePHn46KOP+Oabb9i0aVOy/S1btmTt2rWsWbMmWctwcHAwn3/+OV5eXjRo0IDhw4fz3XffYTKZ2LVrV6rPYguFChXi8uXL1vXLly9TsGBBNm7cSFRUFL169aJVq1YcPnyYqVOnsnjxYiIiIvjPf/7DqlWrWLlypXXcWe7cucmfPz8vv/wyXl5euLm50bJlS0JCQpLdNzAwkBEjRrB7924iIyOZM2cOO3bs4MyZM9ZjXF1d09RNUkSyNiVYIuJwnJycmDhxorVq1zfffEP58uUpWLCg9ZfpNWvWUKVKlTRdb8OGDcTGxhITE8OqVato0KAB1atX59SpUxw8eBCAEydOsG/fPv7zn/9Qu3ZtNm/ebE2GZs6cyYIFCzL0TD179iRnzpzWwgV169bl66+/xmKxEBsby7Jly6hdu3aG7lG/fn1WrFiB2WwmKiqK9evXp9ilMiVDhw7l4sWLLFq0KMl2Nzc3GjduzPDhw2nYsGGyMWLXr1/n448/JioqCjB+uT9x4sR9uyY+SMmSJVOtspjY1bBkyZLUrVuX7777zvrL9uLFi61dHP39/Tl69Cht27Zl/PjxhIeHc+XKFZydnR+YyL7wwgtcvXqVoKAgWrZsiYeHB+Hh4Rw6dIihQ4fy8ssv888//3D27Nn7JoPly5fHYrGwfft2ALZu3crNmzcBowtbgwYN6Ny5M5UrV2bLli0kJCQA3De2zHhXihUrRr9+/Zg4cWKS8VRgtFpu3LiR77//nhYtWiTZlydPHoKCgti/f79125UrV4iIiEjW0pVZGjVqxNq1a7l9+zaxsbHWhKlnz55s2bLF+u9D5cqVGT58OJ06deLy5csEBARY/5sOCgqiefPmmEwmmjRpwoYNG4iOjsZisbBly5Zk/7Zs27bN2uKXON7QZDJhMpmSVA4MDQ2lZMmSj+T7ICKOS10ERcThlCtXjnfeeYf+/fuTkJBAwYIFH1h5L6UxWM7OzqxcuRIwuut17tyZ8PBwmjRpQrt27XBycuLjjz9m/PjxREdHYzKZCAwMpGTJkpQsWZK//vrL2rpQpkwZxo8fn+Jf+9PK1dWV0aNH06tXL9q3b88777zDhAkT8PPzIy4ujnr16lnHvTysvn37Mm7cOPz8/PD29iZv3rzW4hSp8fHxYejQoQQGBtK8efMk+1q1akXnzp0ZPXp0svPeffddpk+fTsuWLXFzcyM+Pp5atWol6RKY0hisQoUKMWvWrCTbypUrh7u7OydPnrQWDrl3DJbZbMbNzY2ZM2fi4+ND3bp16d27Nz179sRkMuHl5cUnn3yCyWRi6NChTJo0iY8++giTycSbb75J0aJFSUhI4NNPP+XNN9/kk08+SfY8Tk5O+Pv7M23aNGuJbx8fH/r06UObNm3IkSMHBQoUwNfXlzNnzqTYZdXV1ZVPP/2UsWPHMm3aNCpWrGitvOjv789///tf/Pz8iI+Pp06dOmzatAmz2Uz16tWtsQUEBFivlxnvChhdb1evXk1QUJC14iNAgQIFKF26NN7e3sm6QJYsWZJPP/2U6dOn888//+Du7o63tzeTJk2iVKlS1uP+PQYLjPFM9evXf2CRi/tZvHgxhw8fZuLEiTRs2JDjx4/ToUMH4uLiaNSoEa1bt37g+aVKlaJPnz506NABs9lMjRo1rO9o586duXnzJm3btiUhIYFKlSoxcuRI67mxsbF89tln1m7LdevWZdGiRTRu3Jjnn3+e8uXLW48LCQmxecVPEXn8mCxp6d8iIvKYGjlyJGXLluX111+3dyiZ7rvvvsPLy4v69etjNpt56623qFOnTpqryjmCdevWERwczNixY+0diki6rFy5khMnTqhMu4ioi6CISFZRtmxZgoKCrJPy5s+fnw4dOtg7rHTx8/Pj5s2b9y3OIeKIIiMjWb9+PW+99Za9QxERB6AWLBERERERERtRC5aIiIiIiIiNKMESERERERGxkcc+wTpx4kSS9dOnT9snEHE4ehfkXnofJJHeBbmX3gfHMGfOHHuHoHdBksjI+/DYJ1j/njMkcS4WEb0Lci+9D5JI74LcS++DY0icgNue9C7IvTLyPjz2CZaIiIiIiIijUIIlIiIiIiJiI0qwRERERMSu1q5da+8QRGzGxd4B3M+ePXtYtWoV0dHRvPHGG1SoUMHeIYmIiIhIJqhRo4a9Q7CpuLg4QkNDiY6Otncokg4eHh4ULVoUV1fXDF3HYROsqKgopkyZwtGjR9m5c6cSLBEREZEsqkiRIlgsFnuHYTOhoaF4e3vz1FNPYTKZ7B2OpIHFYuHatWuEhoZSsmTJDF3LYRKsBQsWsGfPHgCqV69O//79uX37NgsXLmTo0KF2jk5EREREJG2io6OVXD1mTCYTefPm5cqVKxm+lsMkWN27d6d79+7W9bCwMD744AMGDhxI3rx57ReYiIiIiEg6Kbl6/NjqZ5amIhezZ8+mY8eOtG3bluXLl6frBgcOHCAgIMC6bjabGTNmDB07diQgIIAzZ86keF5gYCCXLl3iww8/ZOPGjem6p4iIiIg8Pnr37m3vEERsJtUWrL179/L777+zePFioqKimD9/fpL958+fp0iRIsmWAebOncvatWvx9PS0btuyZQuxsbEsXbqUkJAQJk+eTFBQULL7Tp069aEfyl72nb7OZ9v+YmKbKhTO7Zn6CSIiIiLCnDlz7B1CljJ58mSOHDnClStXiI6OplixYjzxxBPMmDEj1XPnzJlDrVq1qFq1aor7J06cSI8ePShcuPBDxbZy5UpmzJhBsWLFAAgPD8fX15d3332XvXv30q1bN6ZPn06zZs2s5/j5+VGpUiUmT57MwYMH+eijj7BYLJjNZurXr0/Pnj3Zu3cvgwcPpkyZMtbz0vrMtpZqgrVz507KlSvHgAEDiIiIYPjw4dZ90dHRDB48mL59+3L27Fl+++03PvnkE+v+4sWLM3PmzCTnBAcHU69ePcAYa3X48GFbPo9drT9wgW1/XmHL0Ut0e/4pe4cjIiIi8lioUaMGwcHB9g4jyxg5ciRgJDOnTp1KVz2DPn36PHD/22+/naHYAFq0aGGNyWw207lzZw4dOgRAqVKlWL9+vTXB+vPPP4mKirKeO27cOKZMmULp0qWJi4vD39+fWrVqAVCrVi2mT5+e4fgyKtUEKywsjAsXLjBr1ixCQ0Pp378/GzduxGQy4eHhwbx58/Dz86NAgQIsWrQoyblNmjQhNDQ0ybaIiAi8vLys687OzsTHx+Pi4jDDwR5aDnfjGcKj4uwciYiIiMjj47fffrN3CJmmxxe/su3PjBdOuFeD8k/yRY//pPu8kSNHcuPGDW7cuEFQUBAffPAB//zzD2FhYbzwwgsMHjyYkSNH0qxZM65evcr27duJjo7m7Nmz9O7dm7Zt2xIQEMDYsWP5/vvvCQ0N5dq1a1y4cIFRo0ZRr149tm3bxowZM/Dy8iJXrlyUL1+et956674xRUZGcuvWLby9vbl9+zYVKlTg9OnThIeH4+Pjw9q1a/Hz8+PixYsAFC5cmEWLFtG2bVsqVqzI4sWLcXNzY+/evQ/9/bS1VMdg5c6dm7p16+Lm5kapUqVwd3fn+vXrgFHOcObMmdSpUwcvL680jc/y8vIiMjLSum42m7NEcgXg42HUzL8VHW/nSEREREREkqtVqxZLliwhMjKS6tWrM2/ePBYvXszixYuTHRsREcHs2bMJCgpKsRunm5sbn3/+OW+//TYLFiwgISGBCRMmMHfuXBYuXIi7u3uKMaxfv56uXbvSpEkTXnvtNfr168dTTz1l3d+4cWM2b96MxWLh4MGDPPPMM9Z9kyZNIm/evIwdO5batWszZcoUYmNjAfjll18ICAiwfn3++ecZ/G49nFQzmxo1avDVV1/Ro0cPLl++TFRUFLlz5waMLoIlSpSga9euxMbGsmTJklRv6Ovry7Zt22jWrBkhISGUK1cu40/hILw97rRgRasFS0RERCStChUqZO8QMs3DtDRlpsQ5nnLnzs2hQ4f45Zdf8PLysiYp90qch7ZQoUIp7q9YsSIABQsWJDY2luvXr+Pl5UW+fPkAqFmzJlevXk12XmIXwXPnztGrV68kyRUYY67Gjh1LsWLFqFmzpnV7TEwMR44cYcCAAQwYMICwsDD+97//sXTpUsqVK+cwXQRTbcFq0KABFStWpH379vTv358xY8bg7OwMgKenJ127dgWMDLZbt26p3rBx48a4ubnh7+9PYGAgo0aNyuAjOA4fT6MFK1wtWCIiIiJpduHCBXuHkG0kliJfuXIl3t7efPjhh/Ts2ZPo6Ohkkz2nVrb83/vz5s1LZGSktbfbgQMHHnh+sWLFePfddxk0aFCScVbFihWzzofbsmXLJPcbNmwYx48fB4wiFkWKFMHNzS2Vp3600tQ3794iFelVtGhRli1bZl13cnJi3LhxD309R5bYgqUugiIiIiJpN3bsWMaOHWvvMLKV559/niFDhhAcHIynpyclSpTg8uXLGbqmk5MTo0ePpnfv3nh7e2M2mylRosQDz6lduza1a9dmxowZvPjii9btzZo1Y82aNZQsWZJz584BRoPORx99xJgxY0hISMBkMlGlShXatWtHcHCwtYvgvebOnYuHh0eGniu9TJZ/p6qPmaNHj1qbJ1Naf5QOHTnID9/MYF+hTix9s5FdYpC77PkuiOPR+yCJ9C7IvfQ+OAaTyZSs9eRRs+W7kJ3fq9mzZ9OjRw/c3NwYOnQodevWpXXr1vYOK80Sf3YZ+RlmjeoSDqLIyeUMdV3OgnAXQAmWiIiIiGQvOXPm5NVXX8XDw4MiRYokmc8qu1CCZUtP1YHfZtAg9iewWCCVfqsiIiIiIllJ165drTUasqtUi1xI2rmXfZErllyU4CJcyLrzOYiIiIjY0v79++0dgojNKMGyoRwe7qwz1wYgIWSpnaMREREREZFHTQmWDZlMJra41DeWj6yABFUTFBEREUnNvXMdiTzulGDZWKhHeU6aC+F0+yqc+sne4YiIiIiIyCOkBMvGvD1dWZ1Qx1g5tOzBB4uIiIiI2FiXLl3Ys2dPkm0TJkxg+fLlKR7fsGFDYmJimDNnDgcPHkyyLyYmhoYNGz7wfkuXLiUuLo6jR4/yySefZCj2hg0b0qVLFwICAujcuTOtW7fm0KFDAAQEBNC0adMkx2/atIny5csTGhqK2WwmMDCQHj168Prrr9OvXz/rHFoBAQG0b9+egIAA69dPP/2UoVjvR1UEbczbw4U15jr8l2/h6HqIjQS3nPYOS0RERMRhvfvuu/YOIUt59dVXWbNmDc8//zwAsbGxbNu2jSFDhjzwvD59+jzU/WbPnk3r1q2pWLGiTeb/mj9/Pu7u7gD8/PPPfPLJJ8yePdu6/945qr777juKFCliPfby5ct88cUXAGzZsoVJkyYRFBQEwJQpUyhdunSG40uNEiwb8/Fw5RdLAcLyVOeJ6yFw7Huo2sHeYYmIiIg4rLFjx9o7hMyzqAOc2GTba5Z9Gbqk3BoF8Morr/DRRx8RFRWFp6cnW7dupU6dOoSHhzNkyBBiYmK4ceMGAwYM4KWXXrKeN3LkSJo1a0aNGjUYOnQo4eHhFC9e3Lr/119/tbZQRUdHM2XKFPbv38+VK1f4v//7P1577TWWLFnC9OnTWbt2LV9++SVubm489dRTjBs3jnXr1rF9+3aio6M5e/YsvXv3pm3btg981AsXLuDj42Ndb968OevXr6dixYqEh4cTExNDvnz5AChYsCCHDx/m+++/p1atWjRq1IgXXnjhob7FGaEugjbm7eEKwN+FmhsbDqqaoIiIiMiDFC5c2N4hZCnu7u40atSIzZs3A7By5Uo6duzIqVOn6NGjB1988QWjR49m0aJFKZ6/atUqypUrx6JFi/D397duP3HiBO+//z5fffUVDRs2ZOPGjXTo0IEnn3yS6dOnW48LCwtj5syZfPnllyxevBhvb2+WLjV+J46IiGD27NkEBQUxZ86cFO/fs2dP2rdvzwsvvMDBgwcZMWKEdV/Dhg3ZsWMHFouFH374gVdeecW6r3z58owfP54tW7bQokUL2rVrR0hIiHX/iBEjknQRvH79+kN8d1OnFiwb8/YwvqV/5GmIr9MUOPkjRFwBrydtdxOzGUIWwVN1IU9J211XRERExA4uXrxo7xAyzwNamjJThw4dmDp1Ks899xzh4eFUqlSJEydOEBQUxLfffovJZCI+PuWK1ydOnKBevXoAVKtWDRcX4/fbAgUKMHHiRHLkyMGlS5fw9fVN8fxz585RpkwZvLy8AHj22WfZuXMn1apVo0KFCgAUKlSI2KZHbjEAACAASURBVNjYFM9P7CI4bdo0QkNDyZs3r3Wfu7s7FStW5Pfff2fz5s1Mnz6db775BoBjx45RsmRJpk2bhsViYdeuXQwePJhdu3YBj66LoFqwbMzH02jBumL2gdKNwJIAR1ba9iZHVsLaN2F1f9teV0RERESyhPLlyxMZGclXX31Fu3btAPj4449p1aoV77//Ps899xwWiyXFc0uVKmVt+fnjjz+sidg777zDpEmTmDx5Mvnz57eebzKZMJvN1vOLFi3KyZMnuX37NmB0LSxZsqT12LQaPHgwly9ftiZQiVq0aMGCBQvIlSsXOXPerXWwZ88epk2bRkJCAiaTibJly+Lp6Zmue9qCEiwb87nTghUeHQdVXzU2HrRxNcHDdxK2s3vgxjnbXltERETkEbtfS4hkTLt27Vi+fDnNmxtDV1555RUmTpxI586d2b17N2FhYSme16VLFy5dukSnTp1YtGgRrq5GA0KrVq149dVX8ff3JzIyksuXLwPGPGZ9+vSxJlx58uThrbfeolu3brz66quEhYXRqVOndMfv5OTExIkTCQoK4tKlS9btderUYf/+/bRo0SLJ8QEBAfj4+NC6dWs6derEkCFDmDp1qnX/v7sI/jtxsxWT5X6p62Pi3ioiKa0/asv2nWP4ioO0r1GUD1qVhQ/KQmwEvPUb5LVBk2TMLZhaGhJijPXG46DOoIxfNwuy97sgjkXvgyTSuyD30vsgiWz5Lui9enwl/uwy8jNUC5aNJY7BuhUdB245oKKfscNWrVjHfzCSKzejTyuHV9jmuiIiIiJ28rDlwUUckRIsG0usIhgedWfQYJU7JdoPLQNbNBYeWWV81h8Obt5w8QBc/Svj1xURERGxk7lz59o7BBGbUYJlYz6ed1qwYuKMDSXrg1cBuH4Kzgdn7OIxEfDXFmO5SgeoeKffqa2LaIiIiIhIhjzmo3CyJVv9zJRg2ViyFixnF6hsVG7JcDfB4xshPhqK1QKfwneve+hb27SOiYiIiEiGeXh4cO3aNSVZjxGLxcK1a9fw8PDI8LU0D5aN+dw7BitR1Vfhl8/g4BKo1Q/ylHq4i/+x2vis1Nr4LPUieD4BV/+Ey39AgUoPHbeIiIiIvZw/f97eIdhU0aJFCQ0N5cqVK/YORdLBw8ODokWLZvg6SrBsLLEF61Z0PBaLxai7X6g6lHnJ6N73dTvouSn9Ew/HRMAJYzZuKrY0Pp1d4elWELzAKHahBEtEREQeQ8HBwRQuXNjeYdiMq6urdd4nyX7URdDG3FyccHdxIt5sISouwdhoMkGHBVCwqjEW65tXjYQpPU5sutM98DnIVeTu9sRugodXZE43weAvYf98219XRERE5I6WLVvaOwQRm1GClQl8PO+2Ylm5e0OXbyF3CbjwGyzvDglxKV8gJYndA59unXR7iTpGEY2w08Z1ben2dVg3CNb/H9z6x7bXFhERERHJgpRgZQLvlMZhAXgXgK4rIUde+GuzkbykpdUpNhKObzKWn/7XX3icnKFSG2P5sI2rCZ7dA9yJ79R2215bRERERCQLUoKVCRLHYd2Mik++M18Z6LwMXHNAyCL4cULqFzyxCeKjoOizkCuFgXfWboIrwWzOQOT/cmb33eVTP9nuuiIiIiL3mD17tr1DELEZJViZIMVKgvcqWtMYk2Vyhp8/gF9TmVzvyH26B1qv9yzkKg63LsC5Xx4u6JQkSbC2qRS8iIiIZIo+ffrYOwQRm1GClQl8EufCik6hBStRuSbg97Gx/P0w+G1hysfF3jZasMCoGJgSkwkqJ3YTXPEQEacg5hZcPGAkgZ554NZFuHrcNtcWERERuYfJZLJ3CCI2owQrE/h4ptKClcg3ABq8A1hg7ZuwfgjExyY95q/NEHcbitSE3MXuf63EboJHVkPCAxK7tDr3K1gSoHB1KNPI2KZugiIiIiIiD6QEKxPcOxdWquoPA78Z4OwG++fBgmYQfuHu/iP/mlz4fgpWhbxl4PZVOL3jISO/R2L3wBK1jQmNAU5uy/h1RURERESyMCVYmcDb3WjBCo9KYxn2Gq9Bz43gUxRC98HsF+D0LoiLguM/GMdUTGV+CJMJKrc3lg/ZoJugNcGqczfBOr0zfaXlRURERNKgRYsW9g5BxGaUYGWCFOfBSk2RGtB3O5R8ASKvwJd+sKovxEVCYV94okTq16jc1vg8us4YQ/Ww4qLhfDBgguK1jMqFectC7C04b+O5tjLLP4fwvPy7vaMQERGRNFi3bp29QxCxGSVYmeC+82ClJmc+6LoK6gwyxj/9scbYnlr3wERPlocCVSDmJkyrBBtGwtUT6YsBjAmLE2Ig/9Pg+YSxrdSLxuepx6CbYNhp+LwxT23rD0u7QvhFe0ckIiIiD+Dn52fvEERsRglWJvBOSxXB+3F2gcbjoMOX4OYFTq73L8+ektafGWXbY27C3iD4pCZ81cpo1Upr8Yszu4zPErXvbivdwPh09EIXFgt8P9yYNwyM5/70OQheoDLzIiIiDmr9+vX2DkHEZpRgZYJU58FKi0qtYcCv0PvHtHUPTFSoKvTaAn22g283cPE0kqKlXeGjKsZkxKm5t8BFoqfqgsnJGCOWke6Hme3YejjxA7jn4u+X5kPZJkayuW6Q0e3y2kl7RygiIiIiWZjDJlh79uxh+PDhDBw4kGPHjtk7nHSxtmBFZbBceq4iRsL0MApXh5Yz4b9HoUkg5CltTES8ZgBEhd3/vIR4OLvXWL43wfLIZYwTM8cnnYDYkcREwIYRxnKj0UTnfRo6L4V28yBHPjj9MwTVhp3TVaxDRERERDKFwyZYUVFRTJkyhX79+rFz5057h5MuaZ4H61HwfAKefwPe3A8l6xtzat1vUmOAfw4YhTXylAbvgkn3lbrTTdBRy7Vvnwzh56HwM1Czp7HNZIIq7eHNfVCtE8RHw5ax8FVriLxm13BFRETEYFE3fslCHCbBWrBgAX379qVv374EBQXRsGFDoqKiWLhwIW3atLF3eOmSrnmwHhUnJ6j1hrH869z7j8dKqXtgolIvGp+OOA7r0hHY8xlggubTwMk56f4ceaDNLOi6ErwKwpmdMLcBXPrDLuGKiIjIXXPmzLF3CCI24zAJVvfu3Zk9ezazZ8+mf//+hIWFMXHiRAYOHEjevHntHV66eN2ZB+tWTDwJZgf6i0zZl+GJknDzLPz5fcrHnNljfJaok3xf0WfBNQdcOQq3/sm8ONPLbIb1Q4zKi8/2giK+9z+2TCPos81o5bpxBuY1hmP3+V6IiIjII9G3b197hyBiM2lOsK5du0b9+vU5eTJ9RQIOHDhAQECAdd1sNjNmzBg6duxIQEAAZ86cSfG8wMBALl26xIcffsjGjRvTdU97c3YyWScbjohxsFas5+78A7Z3dvL9ZjOcTWzBej75fhe3u4mXI7VihSyCc79AzvzQ8J3Uj/cpDD02QOV2EBsBSzrDzx+qyqCIiIiIZJhLWg6Ki4tjzJgxeHh4JNt3/vx5ihQpkmwZYO7cuaxduxZPT0/rti1bthAbG8vSpUsJCQlh8uTJBAUFJbvu1KlT0/0wjsTbw4VbMfHcio4j152Jhx1C9S7w40Sji9zFg0mLaFw5ZhTA8CkCue9TubB0A/hrs5FgVfN/JCE/UOQ12DzaWG4yCTxzp+08V0+j+EX+p+HH8bB1HFw+ahQGcfVM/XwRERERkRSkqQVrypQp+Pv7kz9//iTbo6OjGTx4MFu2bGH+/PkEBgYm2V+8eHFmzpyZZFtwcDD16tUDoHr16hw+fDgj8TssH08bVRK0NQ8feKaLsfzvVqx7578ymVI+v9SLxuepnxyjxWfLGCMpLFnfKGaRHiYTvDAU/L8B15xwaDksaO7YZehFRESyoLVr19o7BBGbSTXBWrlyJXny5LEmRffy8PBg3rx5jB8/no0bNzJ9+vQk+5s0aYKLS9JGsoiICLy8vKzrzs7OxMc7WBJiA962mAsrs/ynD2AyEorIq3e3P6jARaL8Txtd8W5dhCt/2iae29dh87uwqEP6xnad/QV+/xqc3aD5h/dPClNToTn02gy5isP5YGOiYhEREXlkatSoYe8QRGwm1QRrxYoV7N69m4CAAI4ePcqIESO4cuUKYJTUnDlzJnXq1MHLy4vly5enekMvLy8iIyOt62azOVkSlhVY58JypEqCifKWNgpeJMRA8BfGNovlngQrhQIXiUwm21UTjL4J2wLho6qw6yM4sQm2jk/buRYL/PA/Y7nOIMhXNmOxFKgEXZYbEzMf+AYOfZux64mIiEia3TvERORxl2qCtWjRIr7++msWLlxIxYoVmTJlCk8++SRgdBEsUaIEkyZNYtasWWlqifL19WXHjh0AhISEUK5cuQw+gmPyceQWLIBa/YzPffOMSXevn4KIfyBHXsiXys+k1IvG58MmWLGR8PM0I7HaPhlibxld/JxcjOTmchomlj66zmhtypkf6gx+uDj+LX8FeGWSsbz+/yDstG2uKyIiIiLZRobKtHt6etK1a1cA3Nzc6NatW6rnNG7cGDc3N/z9/QkMDGTUqFEZCcFhOeRcWPcq1QDylTe6+v2xBs7eKc9e/PnUu9qVqm98nt5pJGdpZbEYc3B9XA22vgfRN4zWsh4b4LW14PsaWMxG0YkHSYg3ilIA1B8O7l4PPj49avSAin4QEw4ret9/vjARERERkRSkq2/ewoUL032DokWLsmzZMuu6k5MT48aNS/d1HjeJY7DCoxy0BctkMkq2fzcE9s6622r1oO6BiXIVhbxl4doJoxWpeK203fPYd/D9UGO5SA2jpHqpBncTuvrDIeQbOLYeQvdD0ZopXydkkXHvJ0pCje5pu3damUzgNwNCgyH0V6OFLS2l30VEROSh9e7d294hiNiMw0w0nNUkVhG85UjzYP1bNX/wyAWh+4xWLHhwgYt7lW5gfP61Je332zvL+HxxFPTaCqUbJm0t8y4Itfoby1vGplylMPY2/HSnWmXDd8A5E0rg58gDbecAJtjxgdFSJyIiIplmzpw59g5BxGaUYGUSh64imMgtp9EtD4wJd928oWCVtJ1bobnxGfwlxEWlfvylI3D6Z6Mceq3+9++GWGcQeOQ2jj35Y/L9v842ujUWrAqV2qYt1odRsh7U+y9ggZV9jEqHIiIikilURVCyEiVYmcTHw0Hnwfq3//QG053XoHgtcHJO23kl6xtJTuRlo1tfan6da3xW72S0mt2PZ26o+3/G8tb3wGy+uy8qDHbemQrgpbHglMmv74sjoeizEH4e1g10jHm/REREsqDffvvN3iGI2IwSrExiHYPlyC1YALmLQ4UWxnLJ5HOd3ZfJBHXvVO/bPRPMCfc/NioMDi41lp9NQx/r//QB70Jw8QAcXXN3+87pRmn3ki8Y3Qszm7MrtJ1rtOwdXQe/fZn59xQRERGRx5oSrEzi0PNg/VuL6dAk8M4ExOlQsZVRaCLs77tjuFLy+yKIu220euWvkPp13XJA/RHG8tbxRqXCm+dh72xj20tjH35S4fTKU9KYxBhg+/tJW9RERETEJgoVKmTvEERsRglWJsnl+RiMwUqUMx88/wa4eqbvPGcXqP2Wsbxzespd6Mxm2Hene+BzfdN+7We6Qp7ScP2kUTVw+2SIj4anWxkVCB+lKh0gV3EID4Wzux/tvUVERLKBCxcu2DsEEZtRgpVJHH4eLFup3sWY7Pefg3BqW/L9f202JuzNVRzKvZL26zq7QsO3jeWt4+H3r8HkDA3H2CTsdHFygqodjOXEro4iIiJiM2PHjrV3CCI2owQrkzj8PFi24uoBtfoZyzs/Sr4/sVvfs6+nvYBGoqfbGIU0bl81JiD27Qb5ymQs3odV5VXj88gaiIu2TwwiIiJZ1HvvvWfvEERsRglWJvF0dcbFyURMvJnY+Cw+bqfm60YhiL+3w/l7qgBdPQEnt4KLh5EcpZeTE7z0rrHs4nl3XJY95K9gJHsxN+HED/aLQ0REREQcmhKsTGIymR6PubBswTM31OxhLO+6pxVr3+fGZ5UOxuS9D6N0I2j1GXRaDD52HgBbtaPxeXCZfeMQEREREYelBCsT+Xg+RpUEM6rWG+DsBn+shat/Qcwto3ogpL864b1MJnimC5RuYJs4M6JyO2POsBObNPGwiIiIDe3fv9/eIYjYjBKsTJRtWrDAaF2q5g9YYPcMOLAEYm9B8eehUFV7R2cbPoWMObgSYh9cll5EREREsi0lWJnI2/1OC1ZUNmjBAqg9CDDBgcXG5MOQsdYrR6RugiIiIjZXs2ZNe4cgYjNKsDKRz+M0F5Yt5CsDFf2MFp4bZ8C7kLGelVRoYRTcOLsbbpy1dzQiIiIi4mCUYGWibDMX1r3qDr67XLOnMZ9VVuLhAxWaGcuHlts3FhERERFxOEqwMpGPR2KRi2zSggVQpAZUags+RaBGD3tHkzkS58Q6sBQsFvvGIiIikgW8++679g5BxGZc7B1AVmadbDg7tWABdPjC3hFkrjKNwDMPXP0T/jkIharZOyIREZHH2tixY+0dgojNqAUrE1kTrKhs1IKVHTi7GiXbQcUuREREbKBw4cL2DkHEZpRgZaLEebCy1Ris7CKxmuChb8GcYN9YREREHnMXL160dwgiNqMEKxP5ZKd5sLKbojXhiZIQ8Q/8vcPe0YiIiIiIg3DYBGvPnj0MHz6cgQMHcuzYMXuH81C8s2ORi+zCZIKqd4pdqJugiIhIhvj6+to7BBGbcdgEKyoqiilTptCvXz927txp73Aeik92LNOenSRWEzy6DmJv2zcWERGRx1hwcLC9QxCxGYdJsBYsWEDfvn3p27cvQUFBNGzYkKioKBYuXEibNm3sHd5D8bZ2EVSClSXlK2OUpY+9Bcc32DsaERGRx1afPn3sHYKIzThMmfbu3bvTvXt363pYWBgffPABAwcOJG/evPYLLAMSi1yoi2AWVrkdnA+GI6vvVhYUERGRdJk7dy5z5syxdxgiNpFqC1ZCQgKjRo3C39+fLl26cPbs2XTd4MCBAwQEBFjXzWYzY8aMoWPHjgQEBHDmzJkUzwsMDOTSpUt8+OGHbNy4MV33dBT3tmBZNCFt1vR0K+PzxCaIibBvLCIiIiJid6m2YG3btg2AJUuWsHfvXgIDAwkKCrLuP3/+PEWKFEm2DMZfI9auXYunp6d125YtW4iNjWXp0qWEhIQwefLkJNdLNHXq1Id/Kgfh6uyEh6sT0XFmbscmkNPdYRoMxVZyFYViz8G5vXDiB7ViiYiIiGRzqbZgvfTSS4wfPx6ACxcukC9fPuu+6OhoBg8ezJYtW5g/fz6BgYFJzi1evDgzZ85Msi04OJh69eoBUL16dQ4fPpzhh3BkKnSRDTzd2vg8ssq+cYiIiDymzp8/b+8QRGwmTUUuXFxcGDFiBOPHj6dJkybW7R4eHsybN4/x48ezceNGpk+fnuS8Jk2a4OKStNUmIiICLy8v67qzszPx8Vk3+fDWXFhZn7Wb4GZ1ExQREXkIqiIoWUmaqwhOmTKFH374gdGjR3P7tlGS2mKxMHPmTOrUqYOXlxfLly9P9TpeXl5ERkZa181mc7IkLCvRXFjZQK4iUKwWxEfD8cdzvKCIiIg9tWzZ0t4hiNhMqgnW6tWrmT17NgCenp6YTCacnZ0Bo4tgiRIlmDRpErNmzUpTS5Svry87duwAICQkhHLlymUkfod3t5Jg1m2lE6DSnW6Cf6y2bxwiIiIiYlepNh29/PLLjBo1ii5duhAfH8///vc/3N3dASPh6tq1KwBubm5069Yt1Rs2btyYXbt24e/vj8ViYdKkSRl8BMemubCyiadbwcaRd7oJ3gJ3b3tHJCIiIiJ2kGqClSNHDj7++OOHvkHRokVZtmyZdd3JyYlx48Y99PUeN4lFLsKj1EUwS/MpbHQTPPcLHP8BqrS3d0QiIiKPjcTeUiJZQZrHYMnD8VELVvZRqY3xqWqCIiIi6dKnTx97hyBiM0qwMlliF0EVucgGnm4JmO52ExQREZE0MZlM9g5BxGaUYGWyxCIXKtOeDfgUhuK1ICHG6CYoIiIiItmOEqxMpiIX2Yy6CYqIiIhka0qwMpm3u4pcZCsV1U1QREQkvVq0aGHvEERsRglWJrvbRVAtWNmCTyEo/rzRTfBPTTosIiKSFuvWrbN3CCI2owQrk6mLYDakboIiIiLp4ufnZ+8QRGxGCVYmS2zBUhXBbCSxmuBfWyA63N7RiIiIOLz169fbOwQRm1GClcnUgpUNeReEErXvVBNUN0ERERGR7EQJVibzcnPBZIKImHgSzBZ7hyOPirWb4Gr7xiEiIiIij5QSrEzm5GTCy91oxYpQK1b2UfGeboKqJigiIvJAFov+CC1ZhxKsR8DHQ+Owsh3vAncnHT6xyd7RiIiIOLQ5c+bYOwQRm1GC9QgkjsNSgpXNVLxTEemoSs+KiIg8SN++fe0dgojNKMF6BBJbsFToIptJTLCOb4K4aPvGIiIiIiKPhBKsR0CVBLOp3MWhUHWIi4RT2+wdjYiIiIg8AkqwHgHrXFhR6iKY7SS2Yv2x1r5xiIiIOLC1a/X/Sck6lGA9AndbsJRgZTsVWxqff34PCfr5i4iIpKRGjRr2DkHEZpRgPQJ3i1yoi2C282Q5eLICRN+A0zvtHY2IiIhDKlKkiL1DELEZJViPwN0iF2rByJZUTVBEREQk21CC9Qh4q4pg9paYYB1bD2azfWMRERERkUylBOsR8PHUPFjZWsGqkLsERFyC0F/tHY2IiIjD6d27t71DELEZJViPgFqwsjmTSd0ERUREHmDOnDn2DkHEZpRgPQIqciHWaoJ/rAWLxb6xiIiIOBhVEZSsRAnWI2AtcqF5sLKvos+CV0G4eRYuHrB3NCIiIg7lt99+s3cIIjajBOsR8FELljg5QcUWxrK6CYqIiIhkWUqwHgEfT6MFK+x2LKeuRNg5GrEbjcMSERFJUaFChewdgojNKMF6BDxcnWlVvTAJZgsDvvmd6LgEe4ck9lCiDng+AVf/hCt/2jsaERERh3HhwgV7hyBiM0qwHpEJrSvzVN4cHL0Yzvj1f9g7HLEHZ1co38xYPrrWvrGIiIg4kLFjx9o7BBGbUYL1iHh7uPJJZ1/cXJxYtPcsaw/oLzXZUmI1wazWTTAhHqLD7R2FiIg8pt577z17hyBiM0qwHqHKRXIxpsXTAIxacZC/r0baOSJ55Eq9CG5eRiXBy8eyRsn288HwcTXj6/rf9o5GRERExK6UYD1iXZ4rTouqhYiMTeCNRb9pPFZ24+oBZV82lj97DiYXh6C6sKQLbPwf7J0NFw/aN8b0+P1rmN8UwkMh6jqsG5jxpPH2ddg1A87ssU2MIiIiIo+Qi70DyG5MJhOBbatw+PxN63isiW2q2DsseZTqDITrJ+HaSYgJh0uHjK9Ezu7w32OQI4/9YkxNfCz8MAr2fW6sPxMAf34Pf++A376EGt0f4pox8Otc2DEVom9CzidhyDFw1j9TIiJZ3f79++0dgojNqAXLDjQeK5sr/Az03QGjQmHYKej9I7T/Al4aC3lKQUIMnN5p7yjv79Y/8KWfkVw5u0HLmdDqE2g61di/aTTcPJ/261kscGQVfPof2PS2kVw5uUDkFTi9I3OeQURERCSTKMGyk3+Pxzpx6ZadI5JHzmSCnHmhSA2o3Bbq/h9U9Tf2nf7ZvrHdz7lfYXZ9OPcLeBeGHhvBt5uxr3I7KN/caJVbPzhtXQXP/QrzXobl3SHsNOQrD52XQ73/GvsPrcisJxEREQdSs2ZNe4cgYjMOm2Dt2bOH4cOHM3DgQI4dO2bvcDLFveOx2gXt5qc/L9s7JLG3kvWMz78dMME6vQu+aAYR/xhzevXdDkVr3N1vMkHzD8E9F5zYBAeX3f9aMRGwegDMawyhvxrdAVtMh/67odzLRrIGRrXF+JjMfS4RERERG3LYBCsqKoopU6bQr18/du504O5SGWAymZjSriqNny5AeHQ8PRbsI+ink1iyQmU5eThFaoKLJ1w5ChEOlnDvmwvmOKjWGbqtAa/8yY/xKQSvTDKWN45I+RkuHoA59SHka3DxMFqr3voNava8O97qyfJQoArE3IS/tmTeM4mIiIjYmMMkWAsWLKBv37707duXoKAgGjZsSFRUFAsXLqRNmzb2Di/T5HR3YXbXGgx+qSwWC0zZeIw3F//O7dh4e4cm9uDiBsVrGcuO1E0wPgZObDaW6w83Jk2+n+pdoHRDiAqD74fe3W6xwC9B8PlLcO0vyP809NkOjcaAh0/y61S504p16FvbPYeIiDikd999194hiNiMwyRY3bt3Z/bs2cyePZv+/fsTFhbGxIkTGThwIHnz5rV3eJnKycnE4JfKMSegBjndnPnu4EXafrabc9dv2zs0sQdH7Cb49w6IjYAClSFPyQcfazKB38fGfF9/rDG+Iq/BYn/YOBISYqHm60Zxj/wV7n+dxG6CxzdCrOaMExHJysaOHWvvEERsJtUEKy4ujmHDhtG5c2fat2/P1q1b03WDAwcOEBAQYF03m82MGTOGjh07EhAQwJkzZ1I8LzAwkEuXLvHhhx+ycePGdN3zcfVypYKsHlCHkvlycuyfW/h9spNdf121d1jyqD31gvHpSC1Yx9YbnxWap+343MWNqogA64fArDpGouSRC15dCC2mgatn6tco9hzE3YY/Nzxs5CJiKwlxYNbcjZI5ChcubO8QRGwm1Qlm1q5dS+7cuXn//fcJCwujTZs2NGrUyLr//PnzFClSJNkywNy5c1m7di2ennd/kdqyZQuxsbEsXbqUkJAQJk+eTFBQULL7Tp06NUMP9rgqW8Cb1QPqMGjJ7/z05xUC5u1lUKNyvNmwDM5OJnuHJ49C4epG68+1vyD8AvjY+X86ZjMc+95YrtAi7efVfN0ov35ml7FerBa0+xxyF0v7NSq3g3N7jW6CVdqn/TwRsQ2zGc7uhpBvNMvNkwAAIABJREFU4MhqeOIpY5oJzU8nNnbx4kV7hyBiM6m2YL3yyisMGjTIuu7s7Gxdjo6OZvDgwWzZsoX58+cTGBiY5NzixYszc+bMJNuCg4OpV8/oAlW9enUOHz6coQfIinJ5ujLvtWd5q2EZLMD0LcfpPPcX/rkZbe/Q5FFwdoUStY1lR+gmeH4/RF6GXMWhYDomxXZyglafwlP14MX/Qffv0pdcAVRqAyYno9DF7evpO1dEHl7YafhpMsyoDguaQ8giiIuEy0c0P52ISCpSTbBy5syJl5cXERERDBw4kMGDB1v3eXh4MG/ePMaPH8/GjRuZPn16knObNGmCi0vSv3JFRETg5eVlXXd2diY+XgUd/s3ZycR/Xy7Pwp7Pkc/Lnb1/X6fpxzvYevSSvUOTR+GpO+OwHOEXmXu7B5rS2YqapyR0Xw8vjni4v3h75YeSLxjVCxPjEJHMc+5XWNACPq4GPwXCjTPgUwTqDYUaPYxjVHhGMoGvr6+9QxCxmTQVubh48SLdunWjVatW+Pn5WbdbLBZmzpxJnTp18PLyYvny5aley8vLi8jIuwPWzWZzsiRM7qpbNh8bBtXjhXJPEnY7jte/3M+4dX8QE69+8FmaoxS6sFjgaDrHX9laZVUTFBu6cQ63m6fsHYXjSazy+UVTY/yniydUeRUCVsPgQ9BoNDw/wDj2j7UQF2XfeCXLCQ4OtncIIjaTaoJ19epVevbsybBhw2jfPukYiOjoaEqUKMGkSZOYNWtWmlqifH192bHD+Kt8SEgI5cqVe8jQs48nvd1Z0P1ZRjWtgIuTifm7/qZd0G7+uBBu79AksxSsahSEuHEGwlIuBJOq8AswrRKsefPh47h6HK6fBM8noPjzD3+djKjoB06uxi99t9SCKxnw98/w6X8o9UMAnNlt72gcR8wt+LaHUeXTHA+13oChf0K7uVC6ATjdGRqQrywUqg6xt4zJxEVsqE+fPvYOQcRmUk2wZs2aRXh4OJ999hkBAQEEBAQQHW2MBfL09KRr164AuLm50a1bt1Rv2LhxY9zc3PD39/9/9u47vur6evz46+6b3JudEAIhzDBkqIAiKIgDERW3VmvddaCttdrW/RVXnaWt/VkVR7VYRdyotQoupqAge2+SkD3vzbjz98e5SRgBMm5yM87z4efxucm993PfN35IPue+z/scnnzySe67774WvoWuwWg0cMup/Xnv1rGkJ0SxLrucc55fyFWv/sA3m/IIBLQ5cadiNEHvk+V2c6sJLvl/UJ4FP8+StJ/mqE3LGzglcovaoxIgcxIEA7Dh48iMQUVORS789DrsWgyeFrSu2P4t/Ocy8FZiCPrh/RulfUBXl78JXjldCtJYY+CyN+HsJ+UDnoYMv0z2a4+esdLlVBbLetGg/j1ujldeeSXSQ1AqbI56xfTggw/y4IMPNvsF0tPTmTNnTt3XRqORRx99tNnH6+qOz0jgv78bz4yvtjDnp70s3lbE4m1F9EtxcP3JfblkZE+irZpy2Sn0nQCb/yufuh//q6Y9t7IYVrxR//XXj8K1nzZ9DdWmz2UfqfTAWsMukZ/F2vdhzC2RHYtqW1/cUx9YG0zQfRiknwi9ToT0E6Sq3dHO623zYfZV4KuG46+mcs8qoovWwsfT4MrZUpClK1r7Psy9Q4pXpAyBX8ySWaojGXYxfPUgbPkKqkohKr5txtoRfHSLzOyd8TCMvyvSo1FKRVAX/avSscXaLUw/fyhL7zuD+6YMpkecnR0Fbh76eB1jn/yGZ7/cRHm1N9LDVC1VV+hiYdM/Ef3xNbloyhgL9ng5xvZvmnaM8hzIXiFrMfqf3rTnhtugKWCJhqzlzU+ZVB2P3wvbQr0XU4cBQdi3Gn58BT68SSrcvXAi/PwW+DwNH2PLl/DOlRJcjb4Rpj5P9thH5d/F1i/hhxfa7O20G8EgfHEvfHCj/J4Y8Qu46eujB1cgbSP6nAL+Gi08s7/8jfVpk98+ATmrIjsepVREaYDVgcVFWbjl1P4s+NNp/OPK4zmuVzxlVV5e+HY7Z/7lez5bk0NQUxU6rm7HQFQilGdDcRMW5XsqYVmot9zE++CUUOXPrx9tWqC2OdT7qv/pYI1u/PNag9UhQRbA+g8jOxbVdvYuk/U+yYNg2mK4dy9c+xmc8X8w6ByITpJ1gp/cLsHW0n+Cp76IEps+l5krvwdOvAXO/QsYjfgcaXDhP+Ux86dDVhdbXL91nvyOMFrkZ3LRy/JvrLE0TfBQP4TOp6gEWcf2wa9bltLaBWVnZ0d6CEqFjQZYnYDZZGTqsT34+PaT+WDaWEZmxJNfUcNv3v6Za15fzq5C99EPotofo1E+KQbY2YRy7av+A5VF0ON4STM88RZwdod9q2DDJ40/TntJD6w1LFRkZ+0HkR2Hajvb5ss+c5LsbU6psDn+brjyHbh7swQHKYPlg4gv74O/DoPvnpbGuHOukRL/Y38DU54+MJVw8LkwZppcDL9/naS7dRVL/5/sT38QTvh101OHjzkfTFb5vVSRG/7xdTTuQlj9rty+9lP5QKBoK8x7KLLj6mC0iqDqTDTA6mRG9U7k/VvH8eTFw4mLsrBwayFn/W0Bz3+9VUu7d0R9J8i+sYUu/D5Y8rzcPuX3cuFkjYZT/yTf++ZxeczRVJXKxZPBCAPPbvq4W8OAM2Thfd5a2L000qNRbaE2wBpwRsP3myxw7BUwbSlc8Y6syaoqhu/+LOurAj44+U446/GGg4hJj0hVvNI9MPe3XaM4wb41sPN7sDph1HXNO0ZUAmSeJYVn1umMMj++JimTA8+WZuyXvCqzgz++KmvVVKOcf/75kR6CUmGjAVYnZDQauPLEDL6++1QuHtkTjy/AjHlbmPK3hXy7KV/TBjuS2gBrZyPXYW34WC4WE/vD4PPqvz/yGkjoK5+qrn776MfZOk8uTjPGgSOpeWMPN7MNhl4st/81BT68RddjdWYVuZC7VtbeZYw78mONRhh8Dtw4T1II+58OGGDCn+DM6YefoTHb4LJ/SfW8jXPlgrizq01lO/7qlhWoGF47o9zF0wS91bImEKS8PUDaCOkbBvDJbeAqiMzYlFIRowFWJ5bstDHj8uN4+6Yx9E9xsKPQzfVv/MgFLyzmq/W5Wtq9I0geCM5UcOfLWpMjCQZh0d/k9sl31PeuAfmk/7QH5PZ3T8lFwZFsinBz4cM56zFJeTSaYc1s+McoqTKnFzCdT21xiz7jwWJv3HMMBkkhvPojeCAXTn/g6Olvif3g/NCs75f3SxGNzqp8n1QONBjhpFtbdqyBZ8ssWM5KKNoenvF1ROveB3cBpA6v/0AMJC21z3i5r6vMjiql6miA1QWM65/MF7+bwP3nDCbZaWVNVhk3z1rBOc8v5LM1Ofg10Gq/DIbGr8Pa9rWkzzlTYcQVh94/7BKpxFaeDT+9dvjjeKvrU7MGn9O8cbcWWwyc8wz89iepfBbwwbKXpMDBt09Kw1TVOdSlB57ZvOc3NigDKT0+6nophvHdU817vY5g+UxZkzZkqpS3bwlLlBwHJGjrioJBKawCMPb2A4N5owkueglscbDlC1jxr8iMsQN5+eWXIz0EpcJGA6wuwmo2cvOE/iz80+k8PPUYusfa2ZRbwW/e/pmz/vo9H67MwusPRHqYqiG15dqPFmAtDs1enXRbwxeXRiOcHkpbWfgXqC5v+Dg7F4DHJZ/ItvQirLUk9IGLZ8KtiyBzsoz3+6dkRqsphTxU+xTw17cVONz6q3A79R7Z7/ju6DO8HZHHLQ2bQWZXwmH/NMGuOEOz4zvIXy8fag275ND749LhvBly+3/3Q+HWNh1eR3PzzTdHeghKhY0GWF1MlNXE9Sf35fs/TeSJi4bRMz6K7QVu7pqzmlOf+ZaZC7ZrD632pq7QxSIIHCYIzvpJCmHYYmH09Yc/1sDJ0OskqTK49DD9f9premBDug+Dq+bA9V9IgQNXnlSOm32VpEM1R41L0sQ2zIWCo6RlqtaRvRKqS2XdYFL/tnnN2DQpUOCthN2L2uY129Kqt+VnWtukORz6ToToZFnb2RFTK7NXwJcPYC9a37zn1/4OPfEmMFsbfszwS2H45eCrkt5tfv37ejiGplazVKodM0d6ACoybGYTV43pzeWje/Hxz9m89P12the4+fN/N/H819u44oReXH9KX3rGR0V6qCqxH8T2lNS+/A0SVBxs0V9lP/oGqbR3OAYDnPmwFIlY+v+gaJvM/njckl7ncUmRDOgYAVat3uPghq8k9XH+dAkSdy6Esx6Fkdc2vA6npkIC07x18nMo2i77ioMCs+SBkgo1+Dwpfa8XAa1v2zzZ15ZnbyuZZ0lhja3zmp+a2B4F/PXBwNjbw3dck1nSK5fPlFmsHseF79itJRiUWfpFM2QGCuhjMIEhR2b2jI383Llgs5ynZjuMuuHIjz33OdizFHJ+hu+elD5uSqlOTQOsLs5iMnLZ6F5cMjKd77bkM3PBDn7YUcyri3byryW7OGd4GleNyeD4jHhsZtPRD6jCz2CQNME1syW1L/MscHaTtBRnqpSl3vQ5mGxw0rSjH6/3ODnG1q9kgXZDeoyUT/M7EqNRPkkeNAU+uwu2fgmf/k7Wh0z9O2b3PlizTprX7v0B8tZLmemDmWwS1Mb1lE+4C7fIz33hXyCulwSewy6FXie0/XvsKlq6/qq5MifL/+etX0nfrM5i8xdQshPie9evmwqX4ZdJgLXuA5j06IHFddqTQECapy+aIf+uQapH9jkFw5YvpGfVrkVw4YuNq5xaW43x2CuP/nh7nPRre+NcWDhDzuveR6mMqZTq0DTAUoCUdj99cCqnD05lXXYZryzcwWdr9vHp6hw+XZ2DzWzk+Ix4TuybxEl9Ezk+I4Eoazv9Q9oZ9T9NAqz1H8rWkOOuhJjujTveRS9LUGa2gdUh1cBsTtlbnXKcjjpTE5cOv3xXLvi+uEdSJ/8xikwOWiNiNMuMVI+RMkuV1B+SBsjzay8S/T7YvRg2fio/r7K9UlRj2Utw/j+k/L0KL3eRpAiarPUFXtpK+mjp8VS8Q2Y02yo9saW2zoekfvLBQENqGwufNC38AVD6CRCfITPf6z6UGa32FmRtnQdfPQgFm+Tr6CRpMn3iryEqgb3zZ9LrpyfkQ5mXToFLXztyAOQugtWz5XZtafaj6XOy9CZcNENaTExbdORsgy7ovPPOO/qDlOogDMEO3hRp48aNDBky5LBfq+bLKa3izaW7+G5TAZvzDqzOZjEZODY9nqtOyuCCY3tiNLa/i/FOdS74vbDy33Lh58qXtUa1+6piqVR1y3eHv8DqqiqLpfT26nfwW2Mx9R4LGWNkHVqP46UJc2MFAlKSes278om90QLX/zd861mUWPs+fHAj9DsNrvm4VV7iiL8b3r9RZnYnPwljG3nxHEnb5sNbl8gHBiOvhYn3ygx3rawV8Orp8jvirvVSiTPcvn5UZv5AAtR+E6H/GdKPLK5n+F+vKcr3wd9HSIXI2J4w7g4YebV8sBSyceNGhqQ55bzbuwwMJjjtfjjlroZTBr9/Fr59XDIBrmpCHzCfB16bBPtWSRXUi2eG4Q2qcOpU1w2qxVpyPugMljqsHvFR3DdlCPdNGUKx28OPu4pZtqOY5buK2JBTzk+7S/hpdwmvLdrJ/VOGMG5AcqSH3HmZLHDCjQ3f5/fKuoLDLbLuyqITpVTyOc+xZftuhhwztPnHMhplhiN9NGCA5S/Du7+Cm7+D2B5hGrBia2j9VaTWQGWeJQHW1q86RoC1e4nsAz5Zg7h6Noz7DYz7rQRTtbNXo65tneAKZO1Sdbn8zEp3w/qPZANIGQzHXgHjftf49U3htOxFCa4GToHL/33435PxveC6z+HbJ2RN6zePwfqPZUbbZJEZVbNNbm/8VJ7T1PVsZitc8iq8PEE+qMk8q74So2Lq1Kl8+umnkR6GUmGhAZZqlESHlclDuzN5qKSglVd7+WLtPmbM28K67HJ++eoyThuUwn3nDGFgaiv9EVcNM1kiPYL2z+aU5qrhMvkJKTiya6FULLz+i6b1XYoUv08KE7RXgQBsDzUYjlSANeAMwCCpoTUuOXfas+yVsj/j/6Roy+b/wvdPw4+vwZhbpW2B0Sy3W0t0ohRyAEmt3P6NbDsXSFre/OmSRthQKfPWVF0OP4X6T536x6N/CGWywJnTJTX1w1ukr2De2oYfmzoc+p7a9DElZ8rvj89+L2tFe42R4E7x2WefRXoISoVNO/5Lq9qzWLuFX5yQwfnH9uS1RTt46fsdfLu5gO+3FHD56F78ftJAUmM7wAWnUs1hssBlb8IrEyVt8LPfw4X/bB/r1oJBKM+Bws1SZr5gkxTqKNgMlYWysD86UdahOJJlH50EqUNh4NlyX6TkrgF3AcSmQ8qgyIzBkSyzlFk/SoDQ3ppt7y8YlMp0IM3Fx98tM1rzHoas5ZLGBjDssrZL1UvqL9uJN0lK3A//hPkPwzePw5Dz2/YDoRVvQE059D4Feo5q/PMGnCnNzLNWyOyXv0YyBfwe8NVIVcaBZzX/3/uo62WmdvN/4aNb4dq57W/dmlKqRTTAUi0SZTXxm9MzueLEDP4+fytvL9/D7B/38t6KLI7vFc+EgSmMz0xmRHo8pna4TkupZnMkwRVvw2tnweq3pepipFPKclZJ2mLZ3sM/xlMhW+nuQ+8zmGRx/+BzYdA5kNC79cbakNrqgZlnRjZYzTxLAqytX7XvAKtkl/S2cnSrT1PtPQ5u/EpaFcx/RILtU34fmfGZrZI++PMsaYGw8t+HT3VuLE+lpOodLSDxeeCHF+X2yXc0/XWiEuQ8bA0GgxTJ+edP0nNtyfOR+3+klGoVGmCpsEh22njswmFcd3Ifnv3fZuZtzKtbozVj3hbioiycMiCZCQOTmTiom85uqc6h+3CZuXrvOqlS1m2IVHyMhPyNMOsiKXoSlShrX1IGyZY8UL6OSZNP9CuLpABIZaHcduVJieqdCyTtcddC+N+90H0EHHO+FAYw21r/PUSqPPvBMifJWpytX8ksUXuYmWxI7ezVwf3ZDAYpxz7oXJl9sUSwn6HJDKc/KP9Gvn9aypo3pbjM/nLXwZtTIbGvrJc60vta9wFU5EDKEBjQxv3UGsORLL87/nMpfPOEpFAOvbj9nmttoIPXXFPqABpgqbDqn+LkpatHUV7tZen2IhZsKWDB1gL2Flfx+dp9fL5Wmrgemx7HmUNSmTQ0lUGpMdrBXXVcQy+S5rQL/yIXkTd/2/bVHIu2w78vkOAqczL84q3DrzeJipft4BLk4++GqlJJXdr0mQQ7uWtkqyqVdSOtqaoU9i6X9ULNWdsSTt2PlVmh2ubeqS0ojtKa9g+wGmI0grEdNIs/5kJIO06q5y17Ccbf1fRjVBbD7F/KOZ5dDF8+AOfNaPixwaDMCoEU+4hEcY3GyJwka+OWvQTv3wA/vARnPS6VTo/E75MU4OSBnWoN7syZM7n55psjPQylwqKd/tZRHV2s3cLkod154qLhLPzT6Xz3h4k8dsFQzhzSDbvFyOqsMv4ybwtn/20hE579lkc+Xc+SbYV4/Q00flWqvTvtQVm/VF0K/xwnhS9Wz4aqktZ/7dK9Ely58qQh9eVvNr+iZFQ8jLhMjvHH7XDJa/L9FW+0/nvZ+T0E/VJC3x7buq91NEajpAmCzGK1V0cLsNoLg0GKRwAs+psES03h98F710paa8oQqej302uwYW7Dj982XwLjmDRphNyeTf4znDsDHCmybu71syTNt2j7gY/z1cCWL+Hj2+G5AfDiOJll7kRuueWWSA9BqbDRGSzVJvokO+iT7ODqsX2o8vhZtK2Q+Rvy+HpTHnuLq/jX4l38a/EuYmxmJgxK4YzB3Zg4qBuJDi09rjoAo1F62sy5FnZ8KzNAmz6T2Zg+42HIeZKuFZsW3tetyJPgqmwvpJ8IV84OXzqYxS4lpH9+S97Tj6/ChD+G59gNqUsPPKP1XqMpMifBqrdkRq89ro8JBGTNHbT/AAskdbbfRNjxHSz+G0x6tPHPnfd/kr7q6Aa/+gA2zpXgYu5v5L0fXIVv8d9lP+bW9t++wmiSdWkjLofFz8OSf0gZ+M1fwOgbZE3dps8luKopP/C5K2fBxPsk3VAp1a7oDJZqc1FWE5OOSeXpS0ew7P4z+WDaOG49tT8DujmpqPHx+Zp93DVnNaMen8fF/1zMC99uY1t+xdEPrFQk2eOkMe7vN8CUZ6HvBElV2vEtfH43/G2YXDSFS2UxzLoQirfLWrCr3mudkuKn3Cn7H14Cb1X4jw/yc9raTtZf1ep/mhT92PODpC+2N8XbpVhJbE+ISY30aBrnjIdlv+xlKMtu3HNWvQM/vCCNvX8xS6ohjrk1NGNcBh/eJDNctbJXyhpCawyMvj7876G12GLg9AfgjpVw/K+kUuHymZJ2vPY9Ca5Sh8HE++G2H+T9+2vqy9ArpdoVDbBURJmMBkb1TuDeKYOZf9epLPjjaUyfegzjM5OxGI2s3FPKs19u5swZC5j6j0W8tmgnBRU1kR62UocX1xPG3AzXfgp/3AYXvgj9z5BGsJ//ATzulr9GdZkUtMjfAMmD4OqPJb2vNfQ9VdbPVBbCqv+0zmvkrpGCBM5UCRbbA3scZIyVtMXt30R6NIfqKOmB++s5UtZj+aql4MXRZK+AT38nt895FjJOktsGA1zwT3B2hz1LYcEz9c+pXXs1+jr5f9jRxPaAC16AaYulrH3GWEmv/O1K+d7Ee6SYTm1fsx9flYqJncDcuYdJ+VSqA9IAS7UrGUnRXHdyX2bdOIaV/zeJl341iktHpRNjM7M2u4zHPtvASU9+zXX/Ws4nq7Kp8vgjPWSlDi86EY77pcwupR0L5VmyBqWlPr5NCgYk9IFrPmndFCGDoX4Wa8k/DpwtCJflM2V/zIXtq4paZqj63NZ5kR1HQ2obDPc4LrLjaKrTH5KZwZ/fgsKth39cRR7M/pXM0oy+4dDZKEcSXPIKYIAFz0oVzOKd+zVWntaqb6PVpQ6VGbsb/icpqgcXpek3UdajuXJhw8eRGGHYjRrVhF5lSrVzGmCpdstpM3P2sO48d9mx/Pjgmbzwy5GcOaQbBuC7zQX8bvYqRj42jwteWMxdc1bxz++28eX6XLYXuLRYhmpfjCaYEvqUfcnzUNJAD6rGqsiTBqUmqwRX4V7X1ZAh50tlxJJdsPGT8B7bVQBr3gMMMKadLXIfOFn22+bJmqf2pCPOYAEkD4CRV8vM4DePNfwYnwfmXCOzmhlj4ezDzHb1nSDVL4MB+OAm+PbPcnt4GzZWjhSDAU4KzWL98KKk2XZwPXt28v9nqkvRIheqQ7BbTJw7Io1zR6RR5Krh87X7+HBlNqv2lrI6tO3PbDTQN8HC1Bwzk45JZXB3LQWvIizjJLnwW/ue9Mz6xazmHWfjXLmI7H+GzGC1BaNJyl1/9nuZgQtnv56fXpdZioFTDv2UPtJSBkNcLykism+VpLi1B36fpFUC9GgnY2qKU++RKpsbPpHCDr4aKYlfni2Nkcv2ShpsbE+4/N9HLlQx8T5Zc7V3GaydI98b99u2eR+RNvxymD8dclZKY+xeJ0Z6REqpEA2wVIeT5LRxzdg+XDO2D0WuGrblu9he4A7tXWzLd5FdWsXWIg8z5m1hxrwt9EqMYtKQ7pw1NJXRvRMwm3TyVkXAmY9IRbCNc6UqWt8JTT/Gug9lP/Si8I7taI79JXz7pFzY7/gW+p/e8mP6amQNCcDY21p+vHAzGCRN8KfXpVx7ewmwCreAtxLie0saakcT20NmKxf/HeY91PBjYtKkn5uz25GPZTLDJa/CS6dIUDbgzPbbtyzcrNEw6npYNAN++KcGWEq1IxpgqQ4tyWkjyWljTL+kA75f6fHx3ver2VhuYf5GKQX/+uKdvL54JwnRFsYNSGZsvyTG9k+iX7JDZ7dU24jrKU1Wv3kcvrgHblkoF4iNVZ4ji/pNNhg0pfXG2RCLXVKSvn5UZrHCEWCt+wDc+VIdrc/4lh+vNWSeVR9gTWwnfYdyatdfdbD0wP2N/wO48qX4S2xP2eJ61t92JDd+ljQ+Ay55Hb5/qr7fVldxwq8lUN0wF8qyIC490iNqtptuuinSQ1AqbDTAUp1StNXMienRXDtkCP5AkFV7S/hqfR5fbchjZ6Gbz9fs4/M1+wBIjbVxUr8kxvVPYlTvRHolRmEzmyL8DlSnNfa30r8mfwOs+Bec2ISLig2fAEGZVYlEM97RN8LCv0pT4JyfW3aBHwzKp+4AJ93Wvopb7K/vBAlos1fKGrS2Sss8ko66/mp/9li46KXwHS/zTNm6mriecMwFsP5DWP4KTHok0iNqtpkzZ0Z6CEqFjQZYqtOTUvCJjOqdyL1TBrOz0M2S7UUs3VHED9uLyCuv4ZNVOXyyKgeQ67y0WDvpidFkhLZeiVEMSYsls1sMJmM7vRBUHYPFDpOfgHd/JTNZwy5pfJpXpNIDa0XFSzW3Jc/LLNblbzb/WLsWQe5acKTIz6C9sjqk2MXGufDm+VJ+P6H30Z+36h0JiCc/Ef61ZbUBVntJWVSRddJtEmCteEPWt1mjm36M6jLpNWaJitiHHaNGjWLFihUReW2lwk0DLNWlGAwG+qU46Zfi5Fcn9SYYDLI138WSbYUs3VHEuuxy9pVVkVNWTU5ZNct3Fh/wfKfNzLG94hiZkcDxGfEc3yuBBMcRFmAr1ZDB50l/qZ3fS5B13oyjP6d0L2QtB3OUNBmNlJNug2UvScBRtL35wcMPL8r+hF9L0Nmenf+8FGDIXgH/miJB1uHet98HXz0gPyOQSng3zj9yoYam8Hkgd53cTjs2PMdUHVuvE6DnKDk/17zbtAbL1WXwye2w8VP52mAEqzO0OaR5+TEX1rdqaEUrV65s9ddQqq1ogKW6NIPBwMDUGAamxnDdyX0B8PoD5JRWsbe4ij3FlewprmS+40veAAAgAElEQVR3kZs1WWVkl1axeFsRi7cV1R2jX4qDsf2SODm0rksDLnVUBgNMeRpePFnSBEdff/QGu7W9bgaeJRc9kRKbBiN+AT/Pkr5YU5vR16toe32p+dE3hH+M4RaVIM2c/3MZ7P1Bgqxr5kK3wQc+rrIY3rtWCpgYLTLjt2+1NNU94zDFHJqqYKNUXUwa0DEb6arWMWYafPhrCexHXde4Wai8DTKTXrxdzlejSZpA15TLVivnZyk6cuwvWm34SnU2GmApdRCLyUjvJAe9kxyH3JdfXs3KPaX8vKeElXtKWJNVxo4CNzsK3Pxn2R4MBjgmLZaTByQzrn8So/sk4rTpPzPVgG5DZPZm+cvwxb1w3WdHviha/5Hsh17cNuM7kpN/J41iV/5bSpmPuaVpaUXLZwJBKVt/tCpx7YU9Fn71AbxzhZQFf+NcuObj+sA4bwPMvlLWaTlSpAJeMAD/OkeqvGWeBRljWj6O7E5Q4EKF3zEXSEXGgk2Nq/K57gP45DdSjTJ1mLSNSOwHfi943OBxyX7rV9JW4vO7pUphYt9WewtpaW3Q00+pNqJXfko1QbdYO2cP687Zw7oDMtu1NruMJdsKWbytiBW7S1ifU876nHJmLtgBQEZiNIO7xzA4LZYh3WMYkhZLRmI0Rl3LpU67D9a9D7sXScAy8uqGH1eyS9J/LA65UI+05EzpP/Tdn+F/90hVu/P+1ri1H9Vl8l4BTprWuuMMN5sTrnpPPvXfNh/eOA+u/kiqO350i1yUph0LV7xdX83tlDth0V/ho5vh1kVgi2nZGDpDgQsVfmYrnHCjpBz/8CL0O63hDz38Xpj3MPzwgnw94hcH/ts1hWZeo+Ll6+SBsHe5pAR/eDNc/0XTKp82QU5OTqscV6lI0ABLqRawmIyMzEhgZEYCvzk9k2qvn592lbB4eyFLthexMae8Ls3wqw15dc+Ltpo4Ji2WYT3jGN4zjhHpcfRLcWoBja4mKgHOfgo+vAm+fEB6+MQ28Clu7ezVoLObt4C9NUy8B1IGwse3y7qP/A0ya3O0KnsrZ0kg0mf80dMi2yNLlARQ710naY5vnCuzAADDLoXz/3Hg/6OJ98PW+ZC3Fr68X+5viboASwtcqIOMuh6+f1ZmnZ4dIP3AUodB92FyOyoBProVdi8Go1l+95zw6yPPPhsMMPXv8gFP1nJY8Aycdn+rDH/69OlMnz69VY7d5rzV8jML+qXtQExa8353V5VK78GcVVC8A8bcemhqsmqXNMBSKozsFhOnZCZzSmYyIDNcuwrdbNhXzqbcCjaF9vvKqvlpdwk/7S6pe25t0HV8RjzjBiQzpm8i0Vb9J9rpDb8M1r4nF0X//YMEKQdf8LSn9MD9Db0IkgfBu1dJRcCZE+GS12DAGQ0/3u+DZS/L7bG3t9kww85sg8v/DR/8OrQ2zgBnPgwn33no/zuzFS55BV4+VVIqB06Bwec073W91RLIGowdMzhVrcuRLMHPwhlQWShFdHZ+f+jjYtLgsjcbn7IanQgXvQxvToUFz8rsWO+x4R078Mgjj3TcACvgl/WWO76Tn/meH2Q92/7s8aE+bz0gJhWsMfKBjSVa9tZouV2RC/tWSVBVsvPAY+z5AW5ZEL6iOarV6NWbUq3IYjKSmRpDZmoMF+z3/WK3h3XZZazNLmNddlldAY3aoOuVhTuxmAyMzEhgfGYyJw9IZnjPOMwmY8Tei2olBgOc91d4YQxs+kxKew+9sP7+ou3yh9saIzNc7U3qMXDTt5Iit+V/8J9L4fSHJPUo4Dtw270EyvbIWo/MyZEeecuYLBJM9jlF1tP1OeXwj+02RBrgfnkfzP0tpI9u3tqzvHXyc0wZEtlCJ6r9OuVOWSNZlgV562XmNG+9bEXbpa/bRS/LBX5T9B1fn+764U2S7lqbRngwT6UEF41tP9GR7f0RlvxdCttUlx14X+pw+XdangMV+6C6VLb89Y0/vskmM5Bpx8H2r6XIzZLnYcIfwvs+VNhpgKVUBCQ6rEwYmMKEgSl13yt2e1ibXcbynUUs2lbE2qxSlu0sZtnOYp77agsxdjNDusfSN9lBvxRH3T4j0YHVrIFXhxaXLg1CP79bZrH6Tqi/OFkf6n01+Jz2W848Kh6ueEeq5X3/FHz9iGyHM2YaGDvBOWsyN75R9JhbYcsXciE29w648p2m9xvS9VeqMQwGiO8l26D9WjoE/FIpsLkm3i8zNDk/w+d3yQcMtedwMAhZP8HKN6Vfn9ctBXD6nCLpwH3GgyOpRW+r3dm9BN66pD5FOL439JsI/U6VNhyO5PrHBgJQWSRtG8pzZJbKWyU/J2+VbB63HMseL2s5exwnP0OTRY6x4zv49wUyizj0ovD311NhpQGWUu1EosPKqQNTOHVgCn+cDGWVXpZsL2TRNtl2F1WyfFcxy3cd2JvLaIB+KU7GZyYzcVA3xvRNxG5pwR9RFRmjboC1H8CeJbIe66JQn6j1ofLs7S098GBGoxTt6HGcLKKvqZB1Hiaz7I1mubhL6APHXxXp0bY9oxEufBFeHCeB1k+vS1GCptAAS7VES4IrCKW7vgYvjZcqhAMmSRPuNe9K+mv+hvrHmmxS0bBgE/z4qnyv21CZCRtzi8xiH+Snn35q2fjaUtYK+M/lEhCNuAIm3nvkCotGIzhTZGtu/7p+E+W11syWAPfqjyPWFFodnQZYSrVTcdEWpgxPY8pwKXqwr6yKbfkudhZKWfgdhW52FrrIKpHvb8t38a/Fu7BbjIzrn8zEQSlMHNiNjKR2UhRBHZnRKAUQXhwHq9+G4ZdAXIakhdnioP9pkR5h4wyaIps6VFw6nDsDPrhRLpC2fAmnP9D4C67aAKunFrhQEZLUH855RpoTf3anzFz5a+S+6GQ47ko4/hr5ICV7BexaBLsWSCXC/PWyrX0frvlEUt86on1r4K2LwFMBwy6BC//Z8uC1sSY/AVu/lNmste/BiMvb5nVVk2mApVQHkRYXRVpcFOMzUw74frXXz9rsMr7bnM93mwtYn1PON5vy+WZTPrCe1Fgbg7pLifhB3WMY3D2W/t0c2Mw6y9XuJA+QWaD50+HTO+vXYg05TworqI5v+KVQtjdU7e1L2Y65AE57AFIGHf55HrfMBhjNUhFOqUg57irYOq++wEv/M2DkNTDonAOLL/QeK9upfwRfjaQQLnhW+nS9OVWCrLQRdQ8fPXo0wWDwwNcK+OV1kge2j8Iu+Ztg1oWy3mrwebKera2CK5C0w7MelwD3f/fJutz2vtateCfE9Wq18v7tVdd6t0p1QnaLiRP6JHJCn0T+OHkw+eXVfLelgO8257NwayF55TXklRewYEtB3XPMRgP9U5yMSI/j2F7xHNcrnkHdY7BoEY3IG/tbqRq4bzUsCZX0HnpRZMekwuuU38PxV0vBgB9flcImGz+F4ZdL+fsG0qfYt0YaF6cOlYpjSkWKwQAXvSQBRsYYiM84+nPMNuhzMvQcBXOukQ8W3pwqzboPl/JauA0+nibl4Y1mmPSY9M6LVFpc0XZZA1VZJIHNpa/Xr49qS8ddBavekf6J8x6CC15o+zE0RiAAXz0AP/xTinRc8pp8iNhFaIClVCfTLdbO5aN7cfnoXgQCQfYUV7Ipt4LNuRVsyi1nc24FO4vcbM6rYHNeBe+tyALAbjEyrIcEXINSY0iLt5MWZ6d7XBROm/6qaDMms/zBnDlRKsZFJUjuvepcHMmS7jP2dljwnKxhWTNb0n56j5P/5/1PkwsTo0nXX6n2xRIFIy5rxvPs0orivetg8+fw5gVw9YdSWbNWwA/LXoKvH5VqhPZ4qb735X2yRvWCF8AeF7a30iileyS4cuVKwY5fvBW5rAKDAab+TdLJf34Ljr3yyFVMI8Hvg09/B6tCTeX3rYKXx8OUZ+D4X3WJtWN61aRUJ2Y0GuiT7KBPsoOzh3Wv+36Vx8/G3HLW7C1l1d5SVmeVsbPQfUhvrloxNjPd4+ykxUfRP8XBoFDp+cxUJ7H2CHyC19l1Hy49lRY+J8UtIvEpqWobsT3gvBlw8h2SNrj6Hdi1ULZvHpMAu+8EKN0rj9cAS3V0Zitc/ia8fwNsnAv/vhB+9QEPP/ywzBJ9cjvsWSqPPfaXcPafYedC+f7GT6Xn3mVvSkGd1lJdDgWbpSx6/iYZZ9leSD8Rrpwd+Vnk5EwYfzd896Skk09b3H7SyH010iNw41wwR8ls58ZPYd37MPc3Um7+vL/K77ZOzBA8JOG1Y9m4cSNDhgw57Neq69JzoWlKKz2szipj9d5SdhW5yS2rZl9ZNfvKqqj2Bg77vLQ4OwNTY0hPiMJqNmIzm0J7I1aTEZvFSFpcFH2THWQkRkespHyHOx8CAVmr0GuM9jwKs3Z9LlQWSyn3Hd/C9m/kk/P93fx9615YdkHt+nzozPw++OhmqUhodUpVzWUzwVcFzlSY+vcDC+YU74A510LuGqlSePaTMPqGls2GeNwSSOVvhIKNuHb8iLMyC8qzDn1s2nFw7dy2nz07HF8NvHgyFG2VEvoT74n0iOTn+e6v5HeXLQ6umgMZJ0kxlDXvSisSjwti06UBe+9xkR7xEbXkd4POYCmlAIiPri8Tv79gMEhZlZd9ZdVklVSxNb+CrXkutuRVsC3fFQrCqg9z1AMZDZCeEE3fZOnj1T/FwaDusQzqHkNclM7SHMBohAFnRHoUqq1FJ0pxk6EXykVJ8Y5QsPUtRCdB9xFHP4ZSHYHJDBfNlPVVa96lx8WPk3N3jDQpP/upQ4s3JPaDG+fB/+6FFf+SSpy7l0jaWWN7bJXukXTc3HUyO1WyG6ifZ6j7KMtklcIaKYOh22DodowU82hPvQjNNkkVfONcKR5idcBJt7W8x6DPc2CxksaqKoW3fwF7f5CKkld/WF8h1WCAY6+AXifK7Fb2Chn36Bsgsb98iGh1gi1Wbtti5Wffgfsl6gyW6rT0XGh9/tAary15FeSXV1PjC+DxB6jxyt7jC1Dl9ZNVUlVXUv5wv3F6xkcxuHsMg9Ok0uExPWLpm+TAaAxPrraeD6qWngtqf3o+RFjAD/+7D8O5zxLc8KlUTT2aNXMkNc7rBmsMjPstjL0NbDENP95dJCnXP74Kfk/9941mSMqsC6KyPE7Sj58ECX07TtW7rx+FhX+R233GS7+9+F6Nf34wCHnrYds8qQ65d5kEPRe9KEVJGsNVIKXrc9dCbE+pEJmc2fBj/V5JbVw4g/2D20OMul4CyAhqye8GDbBUp6XnQvtT4/Ozt7iSHQVudha62ZrvYnNuBVvyKqjxHZqG6LCaGNojjqE9YxnWI47h6XH0S3Zgbka1Qz0fVC09F9T+9HxoHwwGw6Fl2o+kYIvMZm3/Wr6OToYJf5BZkdr1SDUuqWK3+HnpWwUw7FIYfC50GyKBxH6zNR32XNj8Bcz9LbgLJDXv3Odg+GWHT5+sKpF1bdvmwdb5UJFz6GOMZjjtflkPfLhS9IGArK2a/4ikVSb2k+CqMZUl9y6XXoA1FZI2WLd3SZro2N/IrFcEaYqgUqpDsJlNDOgWw4BuB37K6A8E2VXkZtM+qXS4cV8563PK2VdWzfJdxSzfVbzfMYz0TXbQL0XSDPslO+mb4qB/spO4aE0zVEqpjmjkyCY20E4ZKGlouxbJBX7Wcgm4lr4AE+8FbxV8/wy48+XxA86EMx4+oPdWpzFoCkxbCp/eAZv/Cx/eJPtzZ0iqZVWJpFPuWiwFdHLXcsDskTMVBkyCzEmyLmrRXyUw/fpR2Pa19Ps6eFZsx/dSJn7favk67Tj45RyISW3cmHudKFsnpQGWUiriTKG+XP1TnJw7Iq3u+4WuGtZll7E+p5x12WWszS4jq6SKTbkVbMqtOOQ4yU4rg7rHMDA1hsGh/cDUGBxaZl4ppdq1FStWNO+JfU6BG7+SWZxvHoP8DVJxsFbPUXDmI9B3fHgG2l45U+CKt6V0+//ulX6Ku5fK93PXcUBAZbRA+gmyzjdzkqzt3H+26+wn5b6Pb4Pdi6WYxnkzpFF6/kaY93+w9St5bEyaNEo/7pdt23S5ndOrDqVUu5XstDFxUDcmDupW973yai+7Ct3sKHCzo1BSDXcUuNhZ6KbQ5aFwWxGLtxUdcJxeiVGkRsGIbcHQbJeDfilOUmNtGLpAPw6llGrvbr75ZmbOnNm8JxsMMPgcGDgZ1r4P3z8llQZPux+GTO0SfZcAeZ8jr5ag86NbZD2VK1eKdqSfAL1PlvvSTwBr9JGPNeBMmLYE5t4hPcs+uBF+eBFyVkrTc2sMnPI7KaxhdbTN++tAdA2W6rT0XOhagsEg2aVVbM6VBsqbQ82Vtxe48Pob/jUXbTWRFmcnymrCbjZht5iwW4zYLCaiLCbioiwkOqwkOawkhPaJDivJMTbt/9WB6e8GtT89H9qHJq/BOpJgsFlBVac6FwJ+2DZfenaln9D83l3BIKx4A768H7yVsjZr1PVw6j0yO9aJ6RospVSXZzAYSE+IJj0hmjOG1OeAe/0BdhW6+f7nzXjtCXWzXTsK3RS7PWwvcDfr9ZIc1rpy831THPRLdtA3WWbFYuwWTGGqfqiUUqqJusqM1ZEYTTKj11IGA4y+XioUrvsAhl0CyQNaftxOTgMspVSnZjEZyUyNwdfbwZAh/Q+4r7TSQ35FDdVeP9XeQGjvp9oXoNrjp7TKQ5HbQ7HLQ0ll6LbbQ155NUVu+fqn3SWHvKbBAE6bmbgoC/HRFtlHWUlwWEh02OpmwpKcVpIcNlJjbcRFWTRdUSmlVPuUPKB9NDPuIDTAUkp1WfHRVuKjm95QMRAIkldRzc4CNzuL3LIPrQcrcNVQUe2r27JKqhp1zBi7mYzEaHolRJORFE2vxGgyEqMZ3D2GbjG6Vkwp1bllZ2dHeghKhY0GWEop1URGo4G0uCjS4qIYNyD5kPv9gSAV1V7Kquq30kovxaFZryJXjdx2eSh015BbVk1FtY/1OVKe/mDJTivH9IhjaI9YjkmLZWiPWPqEsQmzUkpF2ooVK+jRo0ekh6FUWGiApZRSYWYyGpo0OxYMBil2e9hTXMme4kqySqrYU1TJziI3G/eVU+jysGBLAQu2FNQ9J9pqYmBqDINSYxjUXcrSD+oeQ5LT1lpvSymlWs35558fviIXSkWYBlhKKRVhBoOBJKeNJKeN4zMSDrgvGAySVVLF+pyyuhmu9Tll5JXXsGpvKav2lh7w+GSnjcxuTgYctGmaoVJKKdU2NMBSSql2zGAw0CtR1mSdPay+CXOx2xMqRV/O5jwXm3PL2ZLnotBVQ6GrhqU7DuwFFmM30zfZQaLDSkK0lfjo+sIb8dFWusXY6BkfRfc4OxaTsa3fplJKKdVpaICllFIdUKLDytj+SYztn1T3vdpeYFvzXWzPd7EttG3Nd1FW5WVNVtlRj2s0QGqsnZ7xUfRMiKJnfBRp8VH0iLPTPc5OWlwUCdFa8VApFV4vv/xypIegVNhogKWUUp3E/r3AThvUre77wWCQQpes8Sqt9FBS6Q3tPZRWeimp9JBXXkN2SRV5FdXsK5OtoRL0ADazkbQ4O/HRViwmAyajAYvJiNlowBzaW0xGzCYDFmNoH/p+XJSFoT1jGd4znpQYXS+mlBI333xzpIegVNhogKWUUp2cwWAgJcbWqIDG4wuQW1ZNVmklOaXVZJdUkVteRU5pNbll1ewrq6K82seuokooqmzRuNLi7AzvGSdbehyDusfQPdaus2NKdUEGg0GLXKhOQwMspZRSdaxmIxlJ0ovrcFw1PnJDgZbPH8QXCNTtvf7gQbcDeANBvL4AvkCA/PIa1maXsS67rG6m7KsNeXXHjraa6JPkoG+Kg/7Jsu+d5CDFKQGi3WJqix+DUkop1WwaYCmllGoSp83MgG4xLTpGIBBkZ5GbtVllrMkqY212KdsL3BS7PWzYV86GfYf2AwNwWE0kx9hIclhJdtpIT4hmUHcnmakxDEyNwWnTP2tKKaUiS/8SKaWUanNGo4H+KU76pzi58Piedd8vrfSws9Bdt+0ocLOnuJIiVw2FLg9ujx93USW7D5Oe2DM+ikGhnmAn9k1kTN9Eoq36p06p9u68886L9BCUCpt291dn6dKlfPTRR1RXV3PbbbcxePDgSA9JKaVUG4mPtnJ8hvWQfmAgxToqanwUVtRQ5PZQUFHDriI3W3Ir2JwnlROzS6vILq3im035vPjddqwmIyN7xzM+M4VTBiQzrGdcBN6VUupoPv3000gPQamwaXcBVlVVFU8//TQbN25k0aJFGmAppZQCZBF8rN1CrN1Cv5RD7/f5A+wqqmRLXgVrs8tYsq2QNdll/LCjmB92FPPsl5uJi7LQP8FMr9XVxEdJD7CEaNnHR1uIsZuJtpqJtpqItppx2ExEWUxaeEOpVjZ16lQNslSnEfEA64033mDp0qUAHHfccUybNo3KykpmzZrFH/7whwiPTimlVEdhNhkZ0M3JgG5OzhkuTZlLKz0s2V7Ewq2FLNpWwN7iKlZWeVmZU9Xo4xoM4LSaSYmxkRyqxlhbdCPFaSPJaSXBYSXJYSXRYcVpM2tAplQTffbZZ5EeglJhE/EA67rrruO6666r+7qkpITnnnuOO+64g6SkpMM/USmllDqK+Ggr5wxPqwu4dhe5+W7lJmKSUimt6wfmpbRKbrtrfFR6/Lg9Pqo8ftw1fqq8fipqfFTU+NhR6D7qa1pNRhIcFuKjrNitJuxmI3aLCVtob7cYSXbayEx1ktkthv4pTqKsWh1RKaU6i1YNsFavXs1zzz3HrFmzCAQCTJ8+nc2bN2O1Wnn88cfp3bv3Ic958sknKS4u5i9/+QtnnnkmZ599dmsOUSmlVBfSO8nBienRDBmS3ujn+ANBKqq9FLpqKKjwUOCqoaBCtvyKaordHkrcHorcHordHio9fvLKa8grr2nU8Q0GKc6RGZp9y0hykJEYTa+EKHomRGEza/CllFIdSasFWK+88gpz584lKioKgPnz5+PxeHj33XdZtWoVTz31FC+++OIhz3vmmWdaa0hKKaVUk5mMhtAaLSsDuh398dVeP8VuD6WVXqp9fqq9fmq8AWp8fqq9Aaq9fnLKqtmWX8HWPBc7C91klVSRVVLFt5sLDjiWwQCpMXYyEqNJjbPjtJlwWM04bGZi7LJ32Mw4QmvGoq0mWTdmle85bGYsJmMr/WSUCh9tMqw6E0Owlc7oL7/8kkGDBvGnP/2JOXPm8OSTTzJixAjOPfdcAMaPH8/ChQtb/DqrVq3CZrPVfV1dXY3dbm/xcVXHp+eC2p+eD6pWezsXfIEg+yq87Cn1sqfMQ26FjzyXl1yXjwK3j0AL/0pHWwzE2kzE2U3E2IzE2UzE2k0YAI8/GNoC1PiCeANBgkHoEWMhI95CRryVjHgr8fbOO4vW3s6HrmrOnDlcfvnlER2Dngtqf/ufD0OGDGnSc1ttBmvy5MlkZWXVfe1yuXA6nXVfm0wmfD4fZnPLhmCz2Q540xs3bmzyD0F1TnouqP3p+aBqtcdzYfhhvu/1B9hXWs3ekkoKKmpw1fhwhzZXjV/2Hh+VobVjsoXWkdX4cHv8VHqDVHp95Lp8jR7PCg4sApLosDKgm5N+yQ7SQ6mL6QnRpCdE0S3GjsnYcYt6tMfzoSuaPn06Dz/8cETHoOeC2l9Lzoc2K3LhdDpxu+sXBwcCgRYHV0oppVRnZjEZyUiKJiMpulnPDwSkd1iJ20NxpawVq01fDBLEZpaiG/vv/YEgOwvdbM2vYGu+i615LordHpbvLGb5zuJDXsNsNJAWb6dbjJ0kh5XkGBvJThvJTivJThupsXYGpDiJi7a09MehlFIdQptFOCNHjuTbb7/lnHPOYdWqVQwcOLCtXloppZTqkoxGA3FRFuKiLPTB0axjBINBcsur2ZrnYndxJVkllWSH1oxllVRR6Kphb3EVe4uPXPo+2Wmlf4qT/t2csk9xkOy0EWu34LTLmrL914sFg0HcHj9FrhoKXR6KXNJg2ucPYDAYMBkNmAwGDAZZJ2c2GUlx2ugeZyc11ka0teFLnNrjFrs8lFZ5yCvzkFbpIdZuwdiBZ+KUUu1HmwVYkyZNYvHixVxxxRUEg0H+/Oc/t9VLK6WUUqqZDAYDaXFRpMVFNXh/tddPTmkVhS4Pha4ailw1FIQCokJXDVklVewocIfuL2ZZA7NgtewWIzF2CxajgeJKD9XeQLPHHWMzkxoKtkxGI8XuGopdHgrdHjy+g477cRYmo4HE/fqZJTttpMXZZYuPokdcFGnxMkunfc7Cb+7cuZEeglJh06oBVnp6OnPmzAHAaDTy6KOPtubLKaWUUqqN2S0m+qU46Zdy+McEAkH2lVezPd/F9gIX2/KlemJJpZeKai8V1T5cNb5QlcX68vY2s7Eu3TDJaSPRYcVuMeIPyDEDwSD+oBTmqPH5KaiQ8vi55dXSuyxfXuvQMRtJctiIi7JQ4qrE5YGKGl9d+f0jsZqNxNrN2C0moiym+n2o55nFbMRqks1iNmAJ3bZbTMTYzcTaLcTYzaFZOwtOmxmb2YjZZMBslMeaTfI8i8nQZYK5UaNGRXoISoWNLoJSSimlVKsyGg30jI+iZ3wUEwY2HIkFg0Fp6lztw+MLkOiwEm01NSvACAaDlFV564ItfyBAkkMCtCSn9YD0wdqF7DU+PyVuL0XuGopcHgoq5Lk5pVXsK6sObVWUVnopdHma/bNoCqvZSGqsjdQYu8zGxdjpHmejW4z9sOX3g0jAGaS+9HltvWib2Ui0rb6Ev8NqJtpmwmmTgDGSevbsqaXaVaehAZZSSimlIs5gMIR6ebX80sRgqO9dNqh7TKOeYzOb6B5nonvckct0V3n8odk2P1VeP1We0N7rp8brx+MP4vUF8Ppl8/iDeHwBqjw+yqt9odk6mbWrnbmrfawvVDLf5w/Kc32BRq1vCweb2Uh8tIX4KCtx0RbioyzER1uwmU0HBcvLjJoAAApwSURBVG0AQQwGA91j7aTvV1EyNbZjV5RUKlw0wFJKKaWUaqQoq4koa9vM9lR6fOSV15BXXr3fVkN+RQ3+wOHXpxkwEPoPg8FAbchT4/PXlfCvDAWKlR4/rmofNb5A6LWOnCJ5JBaTgR7xUaTG2IkNFVep38zERVuIspixWYzYzaYD9gA+fwCzNsZWnYAGWEoppZRS7VC01UzfZDN9k5tXAbKxgsEg1d4ApVVSwr+00ktZlYeSSi9ef6AuQCMUrBkM4A8E2VdWHaomWUlWSRUFFTXsLqpkd1Flk8fgPHYymQ9+QZLDSkqMnZQYG91Cm9VsxB8I4gsE8e+3+QKBQ9bjBQJB/KFMQ6MBjKFKk8bQ2E1GAw6bVK2MCa2Hiw2tjcvOqyLXkI/bU9tvrr6fnMEAFqOsjTOH1seZjQYsZgkS7RZpdWC3mLCZZR8fbSElxobN3HkbdauGaYCllFJKKdWFGQyG0Mzc4atFNka1118XaJVVeSmv8lJ20Fbt9VPtC1Cz377GFyD50rspcntC1SY9bNwXxjfYJOF/4fhoSyhYtNMt1kaSw4oxtLawdq1c7fIzs8mIw2oi2mbGaTMRbTXjCO1ri6TERlmIsZm1rUA7pgGWUkoppZRqMbvFxIBuTgZ0czb5uaNGjWLr8h8pcnvIL68hv6Ka/FBVR18giNkY6n1mNBxw29hAT7TadWDBIASCQQKhfTAos2DuGl/dGrjy6tr1cF7KXW5S4mNx2Ew4rGYpBBIKboC6dXKyZk5m0Dy+ADW+gASOXr9UwvTJvsTtocBVUzcruCXv0IqWzWUwgNMmAVeiw0qPeDs9QoVk0hOi6BEvm8VoxOOvXxMoa/tkxq/2/TltZqIszSsooxqmAZZSSimllIqolStXYjYZSY21kxprB+LafAy1FSXDKRAIUlzpIa88FDCW11Bc6SEYlCAJqEu7NGDA4w9Q6ZH0xEqPpCdWhtIVa4PB8iqvtCEIBYnZpVWszS5r0TiNBuqCSpPRQHC/wDQQlFm22qAuxm4hNio0m7b/7dB6u9gos+xD35M2BJJWaTEau8TMmwZYSimllFJKtQKj0RDq5WZjaBiP6w8EcYVm4ApcNeSUVpFTWkV2SRXZpdVkl1axr6yKQCCI1WwM9VULBTmhQiK1BU9cNVLkpKLGR0WN74ivG44WBbWzkGajQYK32iqVodsGg4E7z8zktokDWvxakaIBllJKKaWUiqi0tLRID6FDMRkNxEVbiIu20CsxmpEZCS06ntcfoLLGj8vjIxAI1hUGkU3W6QWRoK42tbK8Sva16+3ktq9u7V3tYzw+f11KpddfX6TkcPUqDQZpbdCRaYCllFJKKaUiKicnJ9JD6NIsJiNx0Ubioi1HfFy3xrWVO6zadXBefwBfIFgfwCFr6GoDu8M10u4oOvbolVJKKaVUhzd9+vRID0G1AUMoeIq2yrotp02ai0dZTaES96YOH1yBBlhKKaWUUirCHnnkkUgPQamw0QBLKaWUUkoppcJEAyyllFJKKaWUChMNsJRSSimlVET99NNPkR6CUmGjAZZSSimllFJKhYkGWEoppZRSKqJGjx4d6SEoFTYaYCmllFJKKaVUmGiApZRSSimllFJhYggGg8FID6IlVq1ahc1mi/QwlFJKKaWUUp2Q2WwmMzOz0Y/v8AGWUkoppZRSSrUXmiKolFJKKaWUUmGiAZZSSimllFJKhYkGWEoppZRSSikVJhpgKaWUUkoppVSYaICllFJKKaWUUmGiAZZSSimllFJKhYk50gMIh0AgwPTp09m8eTNWq5XHH3+c3r17R3pYqg15vV7uv/9+srOz8Xg8TJs2jQEDBnDvvfdiMBjIzMzk4YcfxmjUzxS6iqKiIi6++GJef/11zGazngtd2Msvv8w333yD1+vlyiuv5MQTT9TzoQvyer3ce++9ZGdnYzQaeeyxx/R3Qxe1evVqnnvuOWbNmsXu3bsbPAfmzJnD7NmzMZvNTJs2jdNOOy3Sw1atYP9zYePGjTz22GOYTCasVitPP/00ycnJzToXOsVvkfnz5+PxeHj33Xe5++67eeqppyI9JNXG5s6dS3x8PG+//TavvPIKjz32GE8++SR33nknb7/9NsFgkK+//jrSw1RtxOv18n//93/Y7XYAPRe6sGXLlvHzzz/zzjvvMGvWLHJzc/V86KK+//57fD4fs2fP5vbbb+dvf/ubngtd0CuvvMKDDz5ITU0N0PDfh4KCAmbNmsXs2bN57bXXmDFjBh6PJ8IjV+F28LnwxBNP8NBDDzFr1iwmTZrEK6+80uxzoVMEWCtWrGD8+PEAHHfccaxbty7CI1Jt7eyzz+Z3v/td3dcmk4n169dz4oknAjBhwgSWLFkSqeGpNvb0009zxRVX0K1bNwA9F7qwRYsWMXDgQG6//XZuvfVWJk6cqOdDF9W3b1/8fj+BQACXy4XZbNZzoQvKyMjgH//4R93XDZ0Da9as4fjjj8dqtRITE0NGRgabNm2K1JBVKzn4XJgxYwZDhgwBwO/3Y7PZmn0udIoAy+Vy4XQ66742mUz4fL4Ijki1NYfDgdPpxOVycccdd3DnnXcSDAYxGAx191dUVER4lKotfPjhhyQmJtZ96ALoudCFlZSUsG7dOv7+97/zyCOP8Ic//EHPhy4qOjqa7OxspkyZwkMPPcTVV1+t50IXNHnyZMzm+hUyDZ0DLpeLmJiYusc4HA5cLlebj1W1roPPhdoPZVeuXMlbb73Fdddd1+xzoVOswXI6nbjd7rqvA4HAAT8w1TXs27eP22+/nV/+8pdMnTqVZ599tu4+t9tNbGxsBEen2soHH3yAwWBg6dKlbNy4kXvuuYfi4uK6+/Vc6Fri4+Pp168fVquVfv36YbPZyM3Nrbtfz4eu44033uCUU07h7rvvZt++fVx77bV4vd66+/Vc6Jr2X3NXew4cfF3pdrsPuMhWndd///tfXnzxRWbOnEliYmKzz4VOMYM1cuRIFixYAMCqVasYOHBghEek2lphYSE33HADf/zjH7n00ksBOOaYY1i2bBkACxYsYPTo0ZEcomoj//nPf3jrrbeYNWsWQ4YM4emnn2bChAl6LnRRo0aNYuHChQSDQfLy8qiqqmLs2LF6PnRBsbGxdRdGcXFx+Hw+/TuhGjwHRowYwYoVK6ipqaGiooLt27frtWUX8Mknn9RdP/Tq1Qug2eeCIRgMBlt7wK2ttorgli1bCAaD/PnPf6Z///6RHpZqQ48//jhffPEF/fr1q/veAw88wOOPP47X66Vfv348/vjjmEymCI5StbWrr76a6dOnYzQaeeihh/Rc6KKeeeYZli1bRjAY5Pe//z3p6el6PnRBbreb+++/n4KCArxeL9dccw3Dhg3Tc6ELysrK4q677mLOnDns3LmzwXNgzpw5vPvuuwSDQW655RYmT54c6WGrVlB7LrzzzjuMHTuWtLS0upnsE044gTvuuKNZ50KnCLCUUkoppdT/b9cOSgAAYCCG+Xc9E30cI3FRKLDgxSIIAACwQGABAABEBBYAAEBEYAEAAEQEFgAAQERgAQAARAQWAABA5ADqVDA5dc4EAAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 864x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(12, 4))\n",
    "\n",
    "loss_history = pd.DataFrame(lstm_training.history).pow(.5)\n",
    "loss_history.index += 1\n",
    "best_rmse = loss_history.val_loss.min()\n",
    "\n",
    "best_epoch = loss_history.val_loss.idxmin()\n",
    "\n",
    "title = f'5-Epoch Rolling RMSE (Best Validation RMSE: {best_rmse:.4%})'\n",
    "loss_history.columns=['Training RMSE', 'Validation RMSE']\n",
    "loss_history.rolling(5).mean().plot(logy=True, lw=2, title=title, ax=ax)\n",
    "\n",
    "ax.axvline(best_epoch, ls='--', lw=1, c='k')\n",
    "\n",
    "sns.despine()\n",
    "fig.tight_layout()\n",
    "fig.savefig(results_path / 'rnn_sp500_error', dpi=300);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:54.521055Z",
     "start_time": "2020-06-22T00:29:54.343457Z"
    },
    "pycharm": {}
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train RMSE: 0.0084 | Test RMSE: 0.0105\n"
     ]
    }
   ],
   "source": [
    "train_rmse_scaled = np.sqrt(rnn.evaluate(X_train, y_train, verbose=0))\n",
    "test_rmse_scaled = np.sqrt(rnn.evaluate(X_test, y_test, verbose=0))\n",
    "print(f'Train RMSE: {train_rmse_scaled:.4f} | Test RMSE: {test_rmse_scaled:.4f}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:54.960000Z",
     "start_time": "2020-06-22T00:29:54.522405Z"
    }
   },
   "outputs": [],
   "source": [
    "train_predict_scaled = rnn.predict(X_train)\n",
    "test_predict_scaled = rnn.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:54.966976Z",
     "start_time": "2020-06-22T00:29:54.961305Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train IC: 0.9987 | Test IC: 0.9804\n"
     ]
    }
   ],
   "source": [
    "train_ic = spearmanr(y_train, train_predict_scaled)[0]\n",
    "test_ic = spearmanr(y_test, test_predict_scaled)[0]\n",
    "print(f'Train IC: {train_ic:.4f} | Test IC: {test_ic:.4f}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Rescale predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:54.976340Z",
     "start_time": "2020-06-22T00:29:54.969442Z"
    }
   },
   "outputs": [],
   "source": [
    "train_predict = pd.Series(scaler.inverse_transform(train_predict_scaled).squeeze(), index=y_train.index)\n",
    "test_predict = (pd.Series(scaler.inverse_transform(test_predict_scaled)\n",
    "                          .squeeze(), \n",
    "                          index=y_test.index))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:54.989063Z",
     "start_time": "2020-06-22T00:29:54.977634Z"
    }
   },
   "outputs": [],
   "source": [
    "y_train_rescaled = scaler.inverse_transform(y_train.to_frame()).squeeze()\n",
    "y_test_rescaled = scaler.inverse_transform(y_test.to_frame()).squeeze()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:54.999339Z",
     "start_time": "2020-06-22T00:29:54.991039Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Train RMSE: 18.61 | Test RMSE: 23.27'"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_rmse = np.sqrt(mean_squared_error(train_predict, y_train_rescaled))\n",
    "test_rmse = np.sqrt(mean_squared_error(test_predict, y_test_rescaled))\n",
    "f'Train RMSE: {train_rmse:.2f} | Test RMSE: {test_rmse:.2f}'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:29:55.021617Z",
     "start_time": "2020-06-22T00:29:55.000866Z"
    }
   },
   "outputs": [],
   "source": [
    "sp500['Train Predictions'] = train_predict\n",
    "sp500['Test Predictions'] = test_predict\n",
    "sp500 = sp500.join(train_predict.to_frame('predictions').assign(data='Train')\n",
    "                        .append(test_predict.to_frame('predictions').assign(data='Test')))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot Results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-22T00:32:17.188271Z",
     "start_time": "2020-06-22T00:32:15.398586Z"
    },
    "pycharm": {},
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAHwCAYAAAA1uUU7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeVhV1frA8e+ZmCcBxRmHwAlHMmevoqWmOV4pUbScSsvS0kTFnAe0NC01NU2v5ZRiWWpmznM5z7OgKIogM4dzDpz9+4MfJxGcQVDez/PwXPbea6/97kXXc9691l5LpSiKghBCCCGEEEIIIfKVOr8DEEIIIYQQQgghhCToQgghhBBCCCFEgSAJuhBCCCGEEEIIUQBIgi6EEEIIIYQQQhQAkqALIYQQQgghhBAFgCToQgghhBBCCCFEASAJuigU/Pz8OHnyZH6HQbt27Th48GCOx65fv86QIUNo2bIl7du357///S9r1qx5rHpPnDjBF1988cTxREZG0q5dOzp06MDRo0ef+Py8UKlSJe7evfvY5SMiIqhSpQodOnSw/LRv3/6x2+5h3n//fUJDQwHo0KEDCQkJDyybmJhIz549LduPKi+EEEJkmjhxouUzzMfHh1atWlm2U1NTH7uefv36cenSpSe6dqVKlXjrrbeyfI526NCBiIiIJ70NIUQu0OZ3AEKIjCSzR48eDB48mBkzZqBSqbh9+zZDhw4lPDyczz777KHnX7p0idu3bz/xdQ8ePIi7uztLlix5ysgLBhsbG3799VfL9u3bt2nXrh0+Pj5Urlw5V65xb/05iY+Pz/IQ6FHlhRBCiEzBwcGW3/38/Pjyyy+pXr36E9ezcOHCp7r+0qVLcXV1fapzhRC5SxJ0UehUr16d/v37s3fvXqKioujbty8BAQGPPG/NmjWsWrUKk8lEfHw8/fr1IyAggNDQULZs2YJarSY8PBwbGxtCQkKoWLEily5dYuTIkej1eipUqEBKSkqOdS9YsIB27drRqVMnyz4PDw9mzpxJixYtCAwMZM+ePWzevJn58+cDEBoayubNmxk7diyzZ88mMTGRESNGMGXKlGz1r1q1imXLlqFWq3F3d2f06NHcvn2br7/+msTERAIDA1m2bFmWc5KTkxkxYgTh4eGo1WqqVavG+PHjAZg8eTLHjx8nOTkZRVGYOHEivr6+BAUFYWNjw4ULF4iJicHPzw8XFxe2b9/OnTt3mDhxIg0aNCAoKAhra2vOnTtHTEwMjRo1Ijg4GJ1OlyWGn3/+mRUrVmA2m3FxcWH06NFUrFjxkX8rDw8PPD09CQsL48yZM6xZswa9Xo+DgwPLli17YL23b98mKCiIqKgoSpYsSUxMjKXOSpUqsX//flxdXZk/fz7r1q1Dq9Xi6enJ1KlTGTFiBKmpqXTo0IHQ0FCqVq1qKT9nzhw2bNiARqOhfPnyjB49mqJFixIYGEitWrU4cuQIkZGRNGjQgAkTJmA2m5kwYQJHjhxBp9NRunRppkyZgr29/SPvXQghxMvlm2++4dixY0RFRVGpUiWCgoL44osviImJ4c6dO5QqVYqvv/4aNzc3/Pz8mDVrFikpKcycOZMyZcpw8eJF0tLSGDduHL6+vk907YMHDzJp0iTs7OxITk7m888/Z/r06ZbttWvXsm7dumzfMcqXL09QUBBxcXFcv36dZs2aMWzYsDxqISFeMooQhUDz5s2VEydOKIqiKN7e3sqyZcsURVGUkydPKj4+PkpqaupDz09KSlL8/f2Vu3fvKoqiKEePHlVq1aqlKIqirF27VvH19VUiIyMVRVGU8ePHK59//rmiKIrSoUMHZfXq1YqiKMqhQ4eUSpUqKQcOHMhWf7t27ZTt27fneO1OnTopf/75p7J27Vqlf//+lv33bt9/7F779u1TWrZsqcTExFjKtmnTRjGbzQ89b926dUrv3r0VRVGUtLQ0ZdSoUUpYWJhy5MgRZdCgQUp6erqiKIoyf/585f3331cURVGGDx+udO3aVTEajUpUVJTi7e2t/O9//1MURVGWLFmivPfee5ZyHTt2VJKSkhSDwaB0797d8jfx9vZWYmJilIMHDyoBAQFKSkqKoiiKsnv3bqV169bZ4rx+/brlb5HpyJEjSt26dZWbN28qa9euVerWraskJiYqiqI8tN6BAwcqM2fOVBRFUcLCwpRatWopa9euzRLXX3/9pbzxxhtKXFycoiiKMnnyZGXu3LnZ4sgsv2bNGuXtt99WkpOTFUVRlNmzZ1vatUePHsrHH3+spKenK4mJiUrjxo2V/fv3K//884/SunVrxWw2K4qiKNOmTVMOHz6c499JCCHEy+Xe7yyKkvG50apVK8VkMimKkvF5On/+fEVRFMVsNit9+/ZVFi1alOXcAwcOKFWqVFHOnDmjKIqiLFq0SOnevXuO1/P29lbatWuntG/f3vIzcOBARVEU5cCBA0rlypWViIiIHLcf9h1j+PDhSq9evXK5dYR4+UkPuiiUWrRoAUC1atUwGo2kpKRgbW39wPL29vZ899137Ny5k7CwMM6dO5elN7xatWoUL14cgKpVq7JlyxZiY2M5f/48HTt2BMDX1xcvL68HXiMtLS3H/UajEZVK9cT3mGn37t28+eablqFrnTt3ZtKkSY98t8zX15eZM2cSGBhIw4YN6dWrF56ennh6euLs7MzKlSu5fv06Bw8ezNKz27x5c3Q6HUWLFsXOzo4mTZoAULZsWeLi4izlOnXqZDmvQ4cObN26lR49eliO79ixg/DwcN555x3LvoSEBOLi4nBxcckSa2bPNUB6ejpFihRh+vTplChRAsjo/XZwcHhkvfv27WP48OEAeHp6Uq9evWztsn//flq3bo2zszMAI0aMAHhge+7atYvOnTtjZ2cHQM+ePfnuu+8wGo2W9lKr1Tg4OODp6Ul8fDwNGjRAo9HQtWtXGjduTKtWrahRo0aO9QshhHj51apVC60242t7r169OHToED/88ANhYWFcvHiRmjVrZjunZMmSVKlSBcj4brJu3boH1v+wIe4lSpSgVKlSOW4/6jvGk/bYCyFkiLsopDKT8czEV1EURo0axalTpwB455136Natm6X8rVu3ePvtt/H398fX15fWrVuzfft2y3EbGxvL7yqVCkVRLNv3/p754Xq/2rVrc/DgQVq2bJll/+3bt4mIiKB69ers27cvS10mkynHumbNmsW2bduAjPfYzGZztjKKomR7IHD/eZ988glbtmzh4MGDHDhwgPfee4/x48ejVquZNGkS7733Hi1atKBChQqsX7/eUo+VlVWWeh90zxqNJks8anXWOSvNZjMdOnSwDIkzm81ERUVZEuN73f8O+v0yk+NH1Xv/3y6n2DUaTZYHJgkJCQ+dDM5sNmcpbzabs7R9Tv/tODk58euvv3LkyBEOHDjA4MGD6dOnD927d3/gdYQQQry87v0cmz59OidOnKBLly7Uq1ePtLS0LJ9dmR723eRpr33/9qO+Y9x/rhDi0WQWdyH+36RJk/j111/59ddfsyTnAKdOncLV1ZWBAwfSuHFjS3Kenp7+wPqKFClCtWrV+PnnnwE4ffo0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\n",
      "text/plain": [
       "<Figure size 1008x504 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig=plt.figure(figsize=(14,7))\n",
    "ax1 = plt.subplot(221)\n",
    "\n",
    "sp500.loc['2015':, 'SP500'].plot(lw=4, ax=ax1, c='k')\n",
    "sp500.loc['2015':, ['Test Predictions', 'Train Predictions']].plot(lw=1, ax=ax1, ls='--')\n",
    "ax1.set_title('In- and Out-of-sample Predictions')\n",
    "\n",
    "\n",
    "with sns.axes_style(\"white\"):\n",
    "    ax3 = plt.subplot(223)\n",
    "    sns.scatterplot(x='SP500', y='predictions', data=sp500, hue='data', ax=ax3)\n",
    "    ax3.text(x=.02, y=.95, s=f'Test IC ={test_ic:.2%}', transform=ax3.transAxes)\n",
    "    ax3.text(x=.02, y=.87, s=f'Train IC={train_ic:.2%}', transform=ax3.transAxes)\n",
    "    ax3.set_title('Correlation')\n",
    "    ax3.legend(loc='lower right')\n",
    "    \n",
    "    ax2 = plt.subplot(222)\n",
    "    ax4 = plt.subplot(224, sharex = ax2, sharey=ax2)\n",
    "    sns.distplot(train_predict.squeeze()- y_train_rescaled, ax=ax2)\n",
    "    ax2.set_title('Train Error')\n",
    "    ax2.text(x=.03, y=.92, s=f'Train RMSE ={train_rmse:.4f}', transform=ax2.transAxes)\n",
    "    sns.distplot(test_predict.squeeze()-y_test_rescaled, ax=ax4)\n",
    "    ax4.set_title('Test Error')\n",
    "    ax4.text(x=.03, y=.92, s=f'Test RMSE ={test_rmse:.4f}', transform=ax4.transAxes)\n",
    "\n",
    "sns.despine()\n",
    "fig.tight_layout()\n",
    "fig.savefig(results_path / 'rnn_sp500_regression', dpi=300);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda env:ml4t-dl]",
   "language": "python",
   "name": "conda-env-ml4t-dl-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "318.55px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
